Логика была такова: читаю второй файл и последовательно добавляю в лист, потом первый добавляю в лист, записываю лист. В итоге при append false лист считывает только со второго файла, а строк 24-26 как будто не существует. Если бы с append false одни данные заменялись другими, оно понятно, а почему в лист не читает, неясно. Почему оно работает так? при append true лист содержит данные с двух файлов, но добавляет к данным, которые уже содержатся в файле. т.е. файл 1 + файл 2 + файл 1, что понятно. Но как в итоге решить задачу через ArrayList?