我的程序需要一個文本文件的輸入,每個文本文件都有一個由換行符隔開的單詞,我的程序會接收並處理數據,然後我需要輸出到一個新文件,同時保持控制檯輸出。爲什麼 n和(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();
}
因爲在某些系統上(比如OSX或Windows),'\ n'不是行分隔符? – 2015-11-03 17:47:53
你應該使用'System.lineSeparator()'而不需要將結果轉換爲'String' –