关于数据流创建顺序问题

关于数据流创建顺序问题

老师,我再做练习的时候发现,数据流好像是要先创建输出流,才能创建对应的输入流的,是这样么?

比如我下面的代码,当我注释19行而把17行注释去掉的时候,会报错说:系统找不到指定文件。这点我还可以理解,因为没创建输出流,如果没那个文件的话就没法获得对应文件的输入流,而对于输出流,如果没有那个文件的话会自动创一个空文件,所以先创建输出流就不会报错。但是下面的创建对象输入流和对象输出流的时候也有类似问题,目前这种情况程序运行是正常的。但如果我把23行注释掉而把21行注释取消,则会报错:java.io.EOFException,我搞不懂,这里为什么要先创建对象输出流才能再创建对象输入流,我想理解输入流和输出流在创建过程中是怎么样的一个原理,为什么这么将就创建顺序?

http://img1.sycdn.imooc.com//climg/5d1383c90001520511300582.jpg

正在回答

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

2回答

文件不存在,内容为空,定义对象输入流就会报错。

祝:学习愉快~

好帮手慕阿满 2019-06-27 14:12:03

同学你好,如果只是读或者写,就没有顺序这一说,只定义一个读或者写的输入输出流。如果在一个程序进行读写操作的话,需要定义输出流对象再定义输入流,意思就是先将内容写入文件,然后才能读取文件中的内容,否则先定义输入流,文件中没有内容,就会出现IO异常。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 哆丶哆 #1
    那就是说文件不存在的情况下,获取输入流是会报错的意思么?
    2019-06-27 15:15:22
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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