Добавление строки в существующий текстовый файл, но добавление дополнительной пустой строки - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь добавить новую строку в существующий текстовый файл, который работает, но иногда добавляет пустую строку между старыми и новыми данными

Итак, у меня есть файл с данными:

mouse
keyboard

И при добавлении он добавляет это следующим образом:

mouse
keyboard

printer

, но мне не нужна пустая строка между старым и новым текстом. Это код, который я использовал:

String filename= "Stock.txt"
FileWriter fw = new FileWriter(filename,true);
fw.write(System.lineSeparator() + data);
fw.close();

1 Ответ

0 голосов
/ 09 мая 2020

Классы чтения и записи буфера и записи в буфер являются предпочтительными для использования при чтении и записи, а также из файлов.

Вы можете добиться этого несколькими способами.

Пример 1 - Использование классов File, FileWriter и BufferWriter с закрытием вручную:

    File file = new File("Stock.txt");
    FileWriter fr = new FileWriter(file, true);
    BufferedWriter br = new BufferedWriter(fr);
    br.write(data + "\n");

    br.close();
    fr.close();

Пример 2 - Использование классов File, FileWriter и BufferWriter с try-with-resource, который будет автоматически закройте ресурс, когда обработка прекратилась:

    File file = new File("Stock.txt");

    try (FileWriter fileWriter = new FileWriter(file, true);
         BufferedWriter bufferedWriter = new BufferedWriter(fileWriter)) {

        bufferedWriter.write(data + "\n");

    } catch (FileNotFoundException e) {
        System.out.println("Unable to open file, file not found.");
    } catch (IOException e) {
        System.out.println("Unable to write to file." + file.getName());

    }

См .: https://stackabuse.com/reading-and-writing-files-in-java/ для получения действительно полезной информации о чтении и записи файлов!

См .: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html для получения информации о пробном ресурсе.

...