I have to write huge data in text[csv] file. I used BufferedWriter to write the data and it took around 40 secs to write 174 mb of data. Is this the fastest speed java can offer?
bufferedWriter = new BufferedWriter ( new FileWriter ( "fileName.csv" ) );
Note: These 40 secs include the time of iterating and fetching the records from resultset as well. 🙂 . 174 mb is for 400000 rows in resultset.
You might try removing the BufferedWriter and just using the FileWriter directly. On a modern system there’s a good chance you’re just writing to the drive’s cache memory anyway.
It takes me in the range of 4-5 seconds to write 175MB (4 million strings) — this is on a dual-core 2.4GHz Dell running Windows XP with an 80GB, 7200-RPM Hitachi disk.
Can you isolate how much of the time is record retrieval and how much is file writing?