2012-05-21 2 views
0

В случае у меня есть следующий код:Использование PrintWriter с файлами

private PrintWriter m_Writer; 
m_Writer = new PrintWriter(new FileWriter(k_LoginHistoryFile)); 

Я пишу в локальный файл на сервере, имя которого k_LoginHistoryFile.
Теперь, когда моя программа запускает его выполнение в этом файле, как я могу удалить все содержимое файла между каждой записью?
Я думаю, что это важно, поскольку я не хочу писать в файл, который в конечном итоге будет иметь текущую обновленную информацию о ее начале + не обновлять информацию в конце.

Заранее спасибо

ответ

7

Это выражение:

new FileWriter(k_LoginHistoryFile) 

усечет файл, если он существует. Он не будет просто перезаписывать начало файла. Неясно, как часто этот код выполняется, но каждый раз, когда он выполняет, вы начинаете новый файл (и эффективно удаляете старое содержимое).

1

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

Если вы хотите сохранить бегущий выходной файл (и вы не можете сохранить файл открыт), рассмотрим этот конструктор: FileWriter(String, boolean)

Если булево является верно, ваша обновленная информация будет быть в конце файла.