flush方法不是用来清空缓冲区的吗?为什么字符流,字节流,对象流都可以调用

flush方法不是用来清空缓冲区的吗?为什么字符流,字节流,对象流都可以调用

而且,在写操作的时候可以调用出来,读操作的时候却没有

try {
  FileOutputStream fos=new FileOutputStream("hello.txt");
  ObjectOutputStream oos=new ObjectOutputStream(fos);
  oos.writeObject(apple1);
  oos.flush();
  oos.close();
  fos.close();
 } catch (FileNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }catch(IOException e){
  e.printStackTrace();
 }
 try {
  FileInputStream fis=new FileInputStream("hello.txt");
  ObjectInputStream ois=new ObjectInputStream(fis);
  try {
   Iphone iphone=(Iphone)ois.readObject();
   System.out.println(iphone);
   ois.close();
   fis.close();
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2018-03-29 18:12:51

flush()方法是在写操作的时候清空缓冲区,读操作的时候没有,这个也是Java API中的规定。如果可以使用flush()方法,说明这些类有自己的缓冲区。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师