Как записать данные в файл
[Как записать данные в файл]
В этой статье мы рассмотрим различные способы записи текстовой и бинарной информации в файл, используя стандартные API Java.
Запись текста в файл (Java 7 и выше)
Первый способ годится, если вы используете Java 7 и выше. Здесь используется класс Paths, который был добавлен в Java 7. Данный код перезапишет информацию в файле, если тот уже существует.
// запись в файл текстовой информации (файл перезаписывается)
List<String> lines = Arrays.asList("Привет", "Мир");
Path file = Paths.get("output.txt");
Files.write(file, lines, StandardCharsets.UTF_8);
Если же вам нужно добавить текст в конец файла, укажите дополнительную опцию StandardOpenOption.APPEND:
// запись в файл текстовой информации (информация добавляется в конец файла)
List<String> lines2 = Arrays.asList("Привет", "Мир");
Path file2 = Paths.get("output.txt");
Files.write(file2, lines, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
Запись бинарной информации в файл
Если вам требуется записать не текстовые данные, а бинарные данные, используйте следующий пример. В качестве бинарных данных может выступать любой массив байтов (например, байтовое представление картинки или любого другого файла).
// запись в файл бинарной информации (файл перезаписывается)
byte[] data = "Бинарные данные".getBytes();
Path fileB = Paths.get("output.bin");
Files.write(fileB, data);
Для того, чтобы добавить информацию в конец файла, не перезаписывая его полностью, ипользуйте этот код:
// запись в файл бинарной информации (информация добавляется в конец файла)
byte[] data2 = "Бинарные данные".getBytes();
Path fileB2 = Paths.get("output.bin");
Files.write(fileB2, data, StandardOpenOption.APPEND);
Если же вы используете Java 6 ниже, воспользуйтесь следующими примерами.
Запись текста в файл (Java 6)
Этот код запишет данные в файл (причём если файл существует, данные в нём будут перезаписаны).
// если файл существует, он перезатрётся
PrintWriter writer = new PrintWriter("output.txt", "UTF-8");
writer.println("Первая строка");
writer.println("Вторая строка");
writer.close();
Если вам нужно дописать текст в конец файла, используйте следующий код:
// здесь мы допишем информацию в конец файла, если он уже существует
PrintWriter writer2 = new PrintWriter((new FileWriter("output.txt", true)));
writer2.println("Третья строка");
writer2.close();
Для записи бинарных данных в файл в Java 6 используйте следующий код (информация в файле перезапишется):
// запись в файл бинарной информации (файл перезаписывается)
OutputStream os = new FileOutputStream("output.bin");
byte[] data = "какие-то бинарные данные".getBytes();
os.write(data);
os.close();
Для добавления бинарных в конец файла в Java используйте следующий код:
// запись в файл бинарной информации (информация добавляется в конец файла)
OutputStream osB = new FileOutputStream("output.bin", true);
byte[] dataB = "какие-то бинарные данные".getBytes();
osB.write(dataB);
osB.close();
Резюме
В этой статье мы рассмотрели различные способы записи в файл текстовой и бинарной информации. Данные примеры используют стандартные возможности Java и не требуют подключения дополнительных библиотек.
Как записать данные в файл
Различные методы записи данных в файл на Java.