2012-06-27 9 views
1

Новый с Android. Сожалею! Я пытаюсь создать следующее ...Android: пишите в один и тот же файл несколько раз

  1. Ждать окончания таймера. (Нет проблем здесь).
  2. Время записи в файл журнала.
  3. Включите таймер снова.
  4. Вернитесь к шагу 1 & повторите.

код для записи в файл выглядит следующим образом ...

File file = new File("/sdcard/log.txt"); 
    BufferedWriter writer = new BufferedWriter(new FileWriter(file)); 
    writer.write(str); 
    writer.newLine(); 
    writer.flush(); 
    writer.close(); 

Код только записи последнего .WRITE в файле! Предыдущий WRITE удален. Я подозреваю, что он каждый раз создает новый файл и записывает последнюю строку. Я пробовал с FOS и OSW, но с такими же результатами! Пожалуйста, помогите, я застрял на этом около 48 часов.

ответ

3

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

BufferedWriter writer = new BufferedWriter(new FileWriter(file, true)); 
+0

Спасибо дружище. Глупая ошибка :) – SSG

2

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

FileWriter (File file, boolean append)

Используя второй аргумент, как true то байты будут записаны в конец файла, а не начало.

В вашем использовании кода: BufferedWriter writer = new BufferedWriter(new FileWriter(file,true));

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