Java默认缓冲大小实验

来源:互联网 发布:淘宝细节图片尺寸 编辑:程序博客网 时间:2024/05/21 18:32
import java.io.*; public class Test2{public static void main(String args[]){FileWriter fw=null;try{fw=new FileWriter("test.txt");for(int i=0;i<8193;i++)//写入超过8192个字节,即超过8k{fw.write('a');}}catch(Exception e){e.printStackTrace();}}}

实验结果:


文件已经被写入了8k大小的内容。

import java.io.*; public class Test2{public static void main(String args[]){FileWriter fw=null;try{fw=new FileWriter("test.txt");for(int i=0;i<8192;i++)   //总共写入8192个字节,即8k{fw.write('a');}}catch(Exception e){                        e.printStackTrace();}}}

实验结果:

aa

文件大小为0KB,证明没有写入内容。事实上我们打开这个文件,也是没有内容的。


实验证明:java默认的缓冲大小为8k,当没有超过这个值时,里面的内容就不会自动写入文件当中;而当超过这个值时,里面的内容就会自动写入文件当中。

其目的在于减少I/O次数。至于到底为什么是8k,这个实验还是无法证明的,感兴趣的朋友可以翻阅一下资料。


Tips:利用flush()方法则可以把缓冲区里面的内容清空。


原创粉丝点击