остановить файлы от усечения Java? - PullRequest
1 голос
/ 05 сентября 2011

вот мой код

try {
        fstream = new FileWriter("/Applications/AirDrop/contacts.txt");
        BufferedWriter out = new BufferedWriter(fstream);

          out.write(stringToInsert);

        out.close();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

теперь каждый раз, когда я пытаюсь вызвать этот метод (это код в методе с именем writeToFile со строковым параметром) строка, которая

1 Ответ

11 голосов
/ 05 сентября 2011

Вам нужно использовать конструктор с двумя аргументами FileWriter:

fstream = new FileWriter("/Applications/AirDrop/contacts.txt", true);

Еще лучше: вообще не используйте FileWriter, потому что он всегда используеткодировка платформы по умолчанию, что обычно не очень хорошая идея!Вместо этого вы должны явно указать, какую кодировку использовать (UTF-8 обычно является хорошим значением по умолчанию, если вы не знаете, что еще выбрать):

fstream = new OutputStreamWriter(new FileOutputStream("/Applications/AirDrop/contacts.txt", true), "UTF-8");

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

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