c++与java读写文件的效率有关问题

c++与java读写文件的效率问题
在应用中,需要把大文件分成两个小文件。在测试过程中,c++用的ifstream、ofstream读取文件,getline获取文件的每一行,java用InputStreamReader、OutputStreamReader进行读取,但是发现java的读写效率是c++的20倍以上,请问这是什么原因呢?
------解决思路----------------------
文件读写就 fread, fwrite 几个函数靠谱, 其他的也没啥用..
------解决思路----------------------
如果考虑效率,用getline()读到string里面肯定效率不高,因为每次都要分配内存释放内存,这是很慢的。

相反,如果使用C标准函数的fread(),用预先分配好的可重复使用的缓冲区,会快的多。