当前位置: 代码迷 >> J2EE >> JDK API里OutputStream里flush()根本就是空操作,它的子类也没有重写改方法;那这个方法有什么作用啊解决思路
  详细解决方案

JDK API里OutputStream里flush()根本就是空操作,它的子类也没有重写改方法;那这个方法有什么作用啊解决思路

热度:508   发布时间:2016-04-19 22:47:59.0
JDK API里OutputStream里flush()根本就是空操作,它的子类也没有重写改方法;那这个方法有什么作用啊?
我试了几个程序 有flush()和没有 一样效果 为什么?
public static void main(String[] args) throws Exception { // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f = new File("d:" + File.separator + "test.txt"); // 声明File对象
// 第2步:通过子类实例化父类对象
OutputStream out = null;  // 准备好一个输出的对象
out = new FileOutputStream(f);  // 向上转型
// 第3步:进行写操作
String str = "Hello World!!!";  // 准备一个字符串
byte b[] = str.getBytes(); // 只能输出byte数组,所以将字符串变为byte数组
out.write(b);  // 将内容输出,保存文件
// 第4步:关闭输出流
out.close();  // 关闭输出流
}

------解决方案--------------------
你看到flush()为空应该是在OutputStream类中,flush我的理解是把缓存中的东西写入实体中,FileOutputStream没有实现该方法,所以你用不用都一样,你试下BufferedOutputStream,这时候有flush和没flush应该就有区别的。
  相关解决方案