Любое объяснение, почему Output Stream печатает только последнюю строку переведенной переменной в новый файл вместо всех строк? - PullRequest
0 голосов
/ 02 ноября 2019

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

public static void newFile(String pigLatin) {
    OutputStream os = null;
    try {
        os = new FileOutputStream(new File("/Users/amie/Documents/inputnewnew.pig.txt"));
        os.write(pigLatin.getBytes(), 0, pigLatin.length());
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

1 Ответ

0 голосов
/ 02 ноября 2019

По умолчанию FileOutputStream переопределяет существующий файл. Вам нужно использовать другой конструктор с параметром append

FileOutputStream(String name, boolean append)

как

os = new FileOutputStream(new File("/Users/...", true))

Взгляните на ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...