2015-03-24 2 views
0

можно дублировать: Java: How to read a text fileнад файлом записи в Java

это мой код:

this.fileMetaDataPrintWriter = 
new PrintWriter(new FileOutputStream(new File(fileName), false)); 

и в другом методе

fileMetaDataPrintWriter.write(somedata); 

оба эти методы называют в потоке и дескриптором закрывается при выходе нити.

Еще мой файл добавлен и не перезаписан.

Какая ошибка?

+4

Этот код не прилагается к файлу. Либо это не настоящий код, либо у вас есть другой код, который добавляется к нему. – EJP

ответ

1

Я проверил, что следующий фрагмент кода, написанный непосредственно в методе main, переписывает содержимое файла. Возможно, это какое-то другое взаимодействие в коде, которое вызывает для вас другое поведение? Протестируйте этот фрагмент и убедитесь, что перезапись работает правильно.

PrintWriter fileMetaDataPrintWriter = new PrintWriter(new FileOutputStream(new File("appendtest.txt"), false), true); 
fileMetaDataPrintWriter.write("This replaces contents of appendtest.txt"); 
fileMetaDataPrintWriter.close(); 
+0

'flush()' избыточен до 'close().' – EJP

+0

Согласен, я изменил код на auto flush – vsnyc

+0

Autoflush не имеет к этому никакого отношения. 'flush()' всегда всегда * избыточен до 'close().' – EJP

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