2011-06-13 3 views
0

Я нахожусь здесь на своем пути.java - PrintWriter с FileWriter и BufferedWriter

Я пытаюсь напечатать несколько тысяч строк в файле, используя следующие:

 BufferedWriter bw = new BufferedWriter(new FileWriter(fileName, true)); 

     PrintWriter pw = new PrintWriter(bw, true); 

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

Теперь то, что кажется мне озадачивающим в течение последних двух часов, состоит в том, что около 85-90% строк записываются в файл, а FIRST 10-15% - нет.

Нет ничего плохого в коде с точки зрения логики, потому что если я распечатаю его в консоли, все строки будут напечатаны.

Я что-то упустил?

I только сделать pw.close() после окончания производства.

+0

Вы можете разместить несколько больше кода? Можете ли вы попробовать pw.flush() - не уверен, что это будет иметь значение, хотя, – Sai

+0

ничего из вашего описания не кажется мне неправильным. – MeBigFatGuy

+0

@Sai, он имеет автопогрузку включен. – mre

ответ

0

до pw.close(), возможно, вам нужно позвонить flush(), чтобы гарантировать, что весь поток выписан.

+0

Я уже пробовал pw.flush(). Я также установил autoFlush = true в конструкторе PrinterWriter – kkudi

+0

, что я не понимаю, поэтому только первые 10% не написаны, а остальное. На консоли первые 10% печатаются, хотя:/ – kkudi

+0

это кажется довольно странным, возможно, показать полный код? (http://www.java2s.com/Tutorial/Java/0180__File/NestedcreationofFileWriterBufferedWriterandPrintWriter.htm) это довольно просто с кодом. – Jasonw

1

Возможно, вы захотите вызвать инструкцию .flush() после каждого раза, когда вы пишете файл в своем коде, чтобы быть уверенным, что вы правильно пишете.

Это довольно озадачивает, напишите обратно, если проблема не устранена.

Надеюсь, это поможет!

Приветствия, Верн

+0

не повезло:/даже на каждой строке печати – kkudi

+0

hm ... это странная проблема, с которой вы сталкиваетесь. Позаботьтесь о том, какая ОС? Версия JDK? Версия целевой платформы? Ты используешь? Возможно, могут быть некоторые причуды или ошибка. Кроме того, не забывайте делиться сегментом кода, с которым вы сталкиваетесь, так что многие пары глаз могут взглянуть на него? – Vern

+0

java version "1.6.0_16" Java (TM) SE Runtime Environment (build 1.6.0_16-b01) 64-разрядная виртуальная машина Java HotSpot TM (сборка 14.2-b01, смешанный режим), Linux tui 2.6. 28-15-generiC# 52-Ubuntu SMP Wed Sep 9 10:48:52 UTC 2009 x86_64 GNU/Linux – kkudi

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