НЕ удаление существующего содержимого файла

#java #arrays #text-files

#java #массивы #текстовые файлы

Вопрос:

Я пытаюсь записать несколько списков массивов в текстовый файл. Тем не менее, он продолжает перезаписывать существующее содержимое. Я хочу сохранить существующее содержимое текстового файла и продолжать добавлять к нему списки массивов. Вот мой код:

 public static void writeText(String outputFile, String[] array) {
        Path file = Paths.get(outputFile);
        try (BufferedWriter writer = Files.newBufferedWriter(file)) {
            for (String aVal : array)
                writer.write(aVal   "rn");  // Note addition of line terminator 
        } catch (IOException err) {
            System.err.println(err.getMessage());
        }
    } // end writeText
  

Я думаю, что проблема с использованием path заключается в том, что он очищает существующий файл.
Есть предложения о том, как это исправить

Комментарии:

1. Используйте параметры добавления

Ответ №1:

Используйте опцию добавления

 try (BufferedWriter writer = Files.newBufferedWriter(file,
                              StandardOpenOption.CREATE, 
                              StandardOpenOption.APPEND)) {
  

Комментарии:

1. Несколько маркеров в этой строке — Метод newBufferedWriter(Path, OpenOption…) в типе Files неприменим для аргументов (String, StandardOpenOption) Я продолжаю получать это. Есть предложения?

2. Привет, теперь я сталкиваюсь с проблемой, когда он больше не создает текстовый файл! Он добавляется только к существующему текстовому файлу. Есть ли способ, которым я могу создать текстовый файл и добавить к нему

Ответ №2:

СДЕЛАЙТЕ это в своем коде:

 try (BufferedWriter writer = Files.newBufferedWriter(logFile,
                StandardOpenOption.CREATE, StandardOpenOption.APPEND)) 
  

StandardOpenOption.APPEND гарантирует, что файлы открыты в режиме добавления

Комментарии:

1. Привет, теперь я сталкиваюсь с проблемой, когда он больше не создает текстовый файл! Он добавляется только к существующему текстовому файлу. Есть ли способ, которым я могу создать текстовый файл и добавить к нему

2. что вы подразумеваете под созданием текстового файла больше? и вы также говорите.. оно добавляется к текстовому файлу … не могу понять .. утверждения противоречат

3. Я пытаюсь написать метод для создания файла, а затем добавить к этому файлу

4. О, тогда вместо StandardCharsets.UTF_8 просто добавьте StandardOpenOption.CREATE

5. редактирование основного ответа на код также … не вините себя .. это процесс обучения