Задача решена и принята. Но я не понимаю откуда взялась пустая строка по середине второго файла. Поясните пожалуйста
File1
here is row1, from file1,
here is row2, from file1
File2
1elif morf ,2wor si ereh
,1elif morf ,1wor si ereh
Код
while (fileInputStream.available() > 0){
int data = fileInputStream.read();
list.add(data);
}
Collections.reverse(list);
for (int i = 0; i < list.size(); i++) {
fileOutputStream.write(list.get(i));
}
При этом каждый из этих символов в других ОС (unix, mac) может использоваться как символ переноса строки самостоятельно. Зная про такую возможность, текстовые редакторы в виндоус могут интерпретировать каждый из них как перенос строки, кроме тех случаев, когда они написаны именно в порядке \r\n (чтобы не появлялись двойные переносы). Получается, что зрительно в текстовых редакторах как отдельный перенос строки воспринимаются и "\r", и "\n", и "\r\n".
Поскольку у тебя после разворота получилось "\n\r", то блокнот расценит это как два переноса.
А вот например если вывести полученную последовательность байт в консоль в идее, то \r будет именно возвратом каретки без переноса строки, и второго переноса не появится.
Например, если вывести в консоль такую строку:то в консоли появится строка "ghi", т.к. \r перенесет курсор в начало строки, и новая строка заместит собой предыдущую