在Java写文件中,通常会使用FileOutputStream和FileWriter, FileWriter只能写文本文件。FileOutputStream也经常结合BufferedOutPutStream。因为实际应用中写文本文件的情况占了大多数。所以下面测试用不同的方式生成一个相同行数、大小相同的三种不同方式。
转自
以下结果取几次不同的数据进行比较:
1、当count=1000时,即写文件1000行的时候,写出的文件大小为25KB:
2、当count=10000时,即写文件10000行的时候,写出的文件大小为245KB:
3、当count=100000时,即写文件100000行的时候,写出的文件大小为2442KB:
4、当count=1000000时,即写文件1000000行的时候,写出的文件大小为24415KB:
由以上数据可以看到,如果不用缓冲流BufferedOutputStream,FileOutputStream写文件的性能不是很好。当写百万行的文件的时候,FileOutputStream比FileWriter要慢五千多毫秒,BufferedOutputStream比FileWriter要慢十几秒。
