• Post Reply Bookmark Topic Watch Topic
  • New Topic

BufferedReader -> BufferedWriter - not writing whole file  RSS feed

 
Pio Jac
Greenhorn
Posts: 4
IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I have a simple code to change dots to commas in a specific lines of a file, writing copy of a file with corrections. Basically it works fine, but I have unfortunately a weird problem. BufferedWriter doesn't write whole destination file. It ends between 99-100% of whole file (all files are 5.2-5.3 MB of size) right in the middle of a line. No exceptions.

I don't have any idea what to do with it, so I'm welcome to any suggestions - even to change BufferedReader/BufferedWriter to something more appropriate in this situation. I also have to notice that I use BufferedReader to read those source files in another part of code, I'm writing their contents to search engine index and I have seen 100% of files content loaded there (by looking for text in last parts of files), so there's probably no problem with BufferedReader.

source file part:
SNS dawała nie formalne poparcie rządowi za sprawą szefa partii Ludovita Cernaka. SNS nie wchodząc w skład oficjalnej rządowej koalicji zażądała od obozu rządzącego uregulowania sprawy i podpisania oficjalnej koalicji, takie same żądania wysunęła lewicowa SDL. Partia Cernaka weszła w skłąd rządu i objęła cztery resorty - lider otrzymał tekę ministra ekonomii. W 1994 roku prezydentem został Michal Kovac który miał nienajlepsze stosunki z premierem Vladimira Meclarem. Skutkiem tego było votum nieufności dla rządu ale opozycja która przejęła władzę nie potrafiła się dogadać między sobą i w tym samym roku doszło do kolejnych przeddterminowych wyborów.

[...and about 150 more lines of text to the end]


destination file end:
SNS dawała nie formalne poparcie rządowi za sprawą szefa partii Ludovita Cernaka. SNS nie wchodząc w skład oficjalnej rządowej koalicji zażądała od obozu rządzącego uregulowania sprawy i podpisania oficjalnej koalicji, takie same żądania wysunęła lewicowa SDL. Partia Cernaka weszła w skłąd rządu i objęła cztery resorty - lider otrzymał tekę min


Here's whole source code (but I think that problem lays not in code, but in using BufferedReader / BufferedWriter for such files).


Here's HEX output of part where BufferedWriter stops to write file:
 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you tried calling the close() method on the fileToWriter, once you're done with it? That could very well be the problem. The BufferedWriter is probably saving your output in a buffer, and it never gets the signal that you're done. I recommend calling close() inside a finally block to ensure it happens regardless of any other errors that may occur.
 
Pio Jac
Greenhorn
Posts: 4
IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, it has done its work. I'm always forgetting about closing such things. Thank you for your help!
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!