为了账号安全,请及时绑定邮箱和手机立即绑定

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
662人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
FileInputStream构造器的内部有关于源文件空值的检验,所以应该只要catch就行吧
不错,不过操作系统win10是utf8
我感觉java面向对象遵循的是宏观因果律
序列化的时候调用所有父类的构造方法其实是因为Bar2 bar = new Bar2()这个实例化对象的操作造成的,可以在后面System.out.println("构造方法之后");可以看出来,因为要构造子类都得先构造父类

反序列化如果父亲实现了序列化接口,对儿子进行序列化时其序列化代码中就蕴含了父亲的信息,也就知道了其父亲的存在,但不知道他爷爷以及一直到老祖宗Object是否存在,因为他们没有实现序列化接口,所以得依次创建这些祖先类的实例,也就是调用构造方法。但由于他父亲已经存在于序列化信息中。所以就不用再构造一遍了。
为了保证反序列不是无中生有的
读文件是硬盘往内存里不断input,CPU在内存里不断read

写文件是CPU不断往内存里write,内存不断往硬盘里存储output

所以把内存看成主体,输入流是本来就存在于硬盘的数据不断输入到内存,我们read内存就能看到数据了,是一种输入过程

输出流得先write进内存,内存再输出到硬盘进行存储,是一种输出过程也就是output

close()应该就是关闭内存
又是父又是爸的,我都不好意思了。感谢老师,讲的太细心了
字符流的底层也是字节流
所以在创建字符流对象时,也需要把字节流对象传入
如:InputStreamReader in=new InputSteamReader(new FileInputStream());
for循环适合已知次数的情况,即for只会读到字节数组满了就会停止。
while是一直读到文件结尾才会停止,如果字节数组满了,它会从头覆盖此数组进行读取。
没理解“过滤器”的含义体现在什么地方
建议老师把文本编辑器改成自动换行的模式
在使用BufferInputStream时,out.flush(),为什么不放在循环外面,这样好像可以提高速度
讲的好详细,厉害
已学80% 用时 6小时37分,继续学,7小时搞定
BufferedReader与PrintWriter一起使用效果更佳
注意:flush,flush,flush,flush,flush,flush,flush,flush,flush
什么追加不追加的……也没有给个追加的例子啊……至于编码问题,也没说怎么处理……
首页上一页1234567下一页尾页
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消