java дописать в конец файла

Ранее мы уже писали о том, как записать данные в файл. Сегодня же мы будет эти файлы дописывать или обновлять. Мы можем добавлять данные в существующий файл (обновлять содержимое файла), используя FileWriter , BufferedWriter или FileOutputStream .

Содержание

  1. Как дописать файл в Java? Теория
  2. Как обновить файл. Практика
  3. 30 ответов
  4. Java 7 +
  5. Старая Java
  6. Обработка исключений
  7. 2 ответа 2
  8. Метод 1:
  9. Метод 2:
  10. Всё ещё ищете ответ? Посмотрите другие вопросы с метками java или задайте свой вопрос.
  11. Связанные
  12. Похожие

Как дописать файл в Java? Теория

  • Если вы работаете с небольшими объемами текстовой информации, используйте FileWriter с флагом true в конструкторе (подробнее смотрите ниже в пункте Практика).
  • Если количество операций с файлами очень большое, то желательно использовать BufferedWriter .
  • Чтобы дописать в файл бинарные данные или данные с открытого потока, нужно использовать предназначенный для этого FileOutputStream .

Как обновить файл. Практика

Ниже представлен пример программы, показывающий в работе каждый из рассмотренных способов добавить в файл (обновить файл) на Java:

Мне нужно повторно добавить текст в существующий файл на Java. Как это сделать?

30 ответов

Выполняете ли вы это для ведения журнала? Если это так, несколько библиотек для этого . Двумя наиболее популярными являются Log4j и Logback .

Java 7 +

Если вам просто нужно сделать это один раз, Класс файлов упрощает:

Осторожно . Вышеупомянутый подход будет вызывать NoSuchFileException , если файл еще не существует. Он также не добавляет новую строку автоматически (которую вы часто хотите при добавлении к текстовому файлу). ответ Стив Чамберса описывает, как вы могли это сделать с классом Files .

Однако, если вы будете писать в один и тот же файл много раз, вышесказанное должно многократно открывать и закрывать файл на диске, что является медленной операцией. В этом случае буферный писатель лучше:

  • Второй параметр конструктора FileWriter скажет ему добавить файл, а не писать новый файл. (Если файл не существует, он будет создан.)
  • Использование BufferedWriter рекомендуется для дорогого автора (например, FileWriter ).
  • Использование PrintWriter дает вам доступ к синтаксису println , к которому вы, вероятно, привыкли, из System.out .
  • Но обертки BufferedWriter и PrintWriter не являются строго необходимыми.

Старая Java

Обработка исключений

Если вам нужна надежная обработка исключений для более старой Java, она становится очень многословной:

Есть текстовый файл, в котором уже хранится какая-то информация.

Как дописать в файл данные, если метод write класса FileWritter затирает старые данные и пишет новые?

2 ответа 2

Метод 1:

Один из вариантов — использовать метод write класса Files:

Метод 2:

Constructs a FileWriter object given a file name with a boolean indicating whether or not to append the data written.
Parameters:
fileName — String The system-dependent filename.
append — boolean if true, then data will be written to the end of the file rather than the beginning.
Не то?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java или задайте свой вопрос.

Связанные

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

Источник: computermaker.info

Техника и Гаджеты
Добавить комментарий