日期:2014-05-18  浏览次数:20634 次

JSP做完文件操作后,关于close文件的问题!!
是不是不仅要close文件,还要close掉buffer?
另外,在写文件上,为什么我看到有些程序的buffer不是close,而是flush?
它们有什么区别么?
到底应该close还是flush呢?

请指教!谢谢!

------解决方案--------------------
close()是关闭流, flush()是将缓冲区中的数据强制输出
------解决方案--------------------

flush :刷新此输出流并强制写出所有缓冲的输出字节。flush 的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。
如果此流的预期目标是由基础操作系统提供的一个抽象(如一个文件),则刷新此流只能保证将以前写入到流的字节传递给操作系统进行写入,但不保证能将这些字节实际写入到物理设备(如磁盘驱动器)。

close:关闭此输出流并释放与此流有关的所有系统资源。close 的常规协定是:该方法将关闭输出流。关闭的流不能执行输出操作,也不能重新打开。
JDK上面的。呵呵
------解决方案--------------------
close就是将流关闭,flush完全就是把你....楼上都有了,不说了
------解决方案--------------------
先关buffer,然后关文件流