Решил заменив запись данных через: byte[] bytes = Files.readAllBytes(f.toPath()); fileOutputStream.write(bytes); fileOutputStream.write("\n".getBytes()); Подскажите, а что лишнее записывается, если записываем как в этом коде: while (fileInputStream.available()>0){ byte[] bytes = new byte[1024]; int n = fileInputStream.read(bytes); fileOutputStream.write(bytes); } fileOutputStream.write("\n".getBytes());