我的程序接受一个文本文件作为输入,该文件中的单词由换行符分隔。程序处理数据后,需要输出到一个新文件,同时保留控制台输出。
现在我想知道为什么当我将“\n”附加到我的stringBuilder时,控制台会将其打印出来,就好像它具有新的一行,但在文件输出中,它不将其视为新的一行,而是将所有单词放在一行中。
只有当我使用newLine时,才能在我的控制台输出和输出文件中获得新的一行。这是为什么?(String)System.getProperty("line.separator")做了什么导致这种情况?
现在我想知道为什么当我将“\n”附加到我的stringBuilder时,控制台会将其打印出来,就好像它具有新的一行,但在文件输出中,它不将其视为新的一行,而是将所有单词放在一行中。
只有当我使用newLine时,才能在我的控制台输出和输出文件中获得新的一行。这是为什么?(String)System.getProperty("line.separator")做了什么导致这种情况?
String newLine = (String)System.getProperty("line.separator");
try{
BufferedReader fileIn = new BufferedReader(new FileReader(fileName));
stringBuilder.append(newLine);
while((s = fileIn.readLine()) != null){
stringBuilder.append(s);
stringBuilder.append(newLine);//using newLine,
}
String a = stringBuilder.toString();
if(s== null){
fileIn.close();
}
\n
不是行分隔符? - user180100System.lineSeparator()
,并且不需要将结果强制转换为String
。 - Manos Nikolaidis