2013-02-14 3 views
5

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

public boolean writeToFile(String directory, String filename, String data){ 
    File out; 
    OutputStreamWriter outStreamWriter = null; 
    FileOutputStream outStream = null; 

    out = new File(new File(directory), filename); 

    if (out.exists() == false){ 
       out.createNewFile(); 
    } 

    outStream = new FileOutputStream(out) ; 
    outStreamWriter = new OutputStreamWriter(outStream); 

    outStreamWriter.append(data); 
    outStreamWriter.flush(); 
    }   
+0

Вы смотрели на http://stackoverflow.com/questions/1625234/how-to-append-text-to- an-existing-file-in-java Ошибка – Wizche

ответ

14

Попытка установить присоединять boolean значение верно в FileOutputStream:

outStream = new FileOutputStream(out, true); 
outStreamWriter = new OutputStreamWriter(outStream); 
+0

: 'конструктор OutputStreamWriter (FileOutputStream, boolean) не определен' – mavzey

+4

Посмотрите на меня, ответьте man, второй параметр' FileOutputStream' не 'OutputStreamWriter'. – Sajmon

Смежные вопросы