wirte只是将对象写入了流中,并没有直接写到文件,需要刷新一下(flush())。
关于BufferedWriter,自己的理解:BufferedWriter封装的字节数组应该为8K(eclipse里调试看到的),它操作的对象只是字符或者字符串、字符串数组等文本类的,直接用FileWriter或者Writer等等时效率很低,所以尽量用它来包装前面那些,这样可以高效输出。还有就是它的newLine方法,可以根据平台的不同采用不同的行分隔符,比如windows就用'\r''\n'表示回车换行,Linux就用'\n'表示,(java的跨平台性体现)。这样一来,我们将来输出时,不用为了某些格式而去刻意在文本后面加上'\r''\n',只要调用newLine方法即可(这样写的程序可以不受平台的限制,运行出一样的效果)。当然还有就是所有输出流共有的flush和close了。 |