Моя программа принимает ввод текстового файла, который имеет слова, каждый из которых разделен символом новой строки, и моя программа берет его и обрабатывает данные, а затем мне требуется вывод в новый файл, сохраняя вывод консоли.Почему 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' не является разделителем строк? –
вы должны использовать 'System.lineSeparator()' и не нужно приводить результат к 'String' –