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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰

已采纳回答 / 我是菁粉
老师讲解时,都是实例化子类对象的,因为子类对象已经实例化过的,所以不会报错,如果此时直接对没有序列化的父类对象进行对象的文件存储与读取操作、网络传输时均会报错的。

已采纳回答 / 头发多
copyFileByBuffer这里是一个字节一个字节读的--->(c=bis.read())!=-1,并非批量,应将它与copyFileByByte的速度相比,是快的。如果copyFileByBuffer使用字节数组读取--->(b=in.read(buf, 0, buf.length))!=-1,那么会比同样使用字节数组批量读取的copyFile快。

最赞回答 / XJ_倾注你的泪
BufferedReader(Reader in)           创建一个使用默认大小输入缓冲区的缓冲字符输入流。    BufferedReader(Reader in, int sz)           创建一个使用指定大小输入缓冲区的缓冲字符输入流。    这是它的两种构造器
我觉得这里老师漏了一点没讲清楚,while循环的作用是用来解决“缓冲buf的值设置得太小,in里面的东西放不下需要重复利用该buf”的这个问题。加上while之后可以确保整个超大的in用一个偏小的buf也能够读完,至于-1那是判断是否结尾,老师太笼统过去了,我也是百度了几篇才想清楚

已采纳回答 / 邓孤思
byte b = -13;System.out.println(Integer.toHexString(b));// fffffff3 System.out.println(Integer.toHexString(b & 0xff));// f3

已采纳回答 / Manny2011
如果文件很小,你申请的容量8*1024个byte的数组就已经可以完全装下,很显然那么第一次读就一下把文件读完了;如果文件很大,你申请的容量一次读取装不完时,那就会有下一次读取,直到读到文件的末尾,此时返回-1,就跳出循环了;read(buf,0,buf.length)意思是一次最多读取的字节数不超过8*1024,即<=8*1024.看一下这个方法的官方文档解释,你就会更加明白了.     *Reads up to <code>len</code> bytes of data ...

已采纳回答 / 翱睿
while是保证输出的字节数组个数,for是用来具体输出的
@leowei PrinterWriter构造方法中的一个参数就是boolean autoFlush,就是为也将缓冲区的内容立即写入到文件中或者打印出来,所以从这一点就可以判断它也是带缓存性质的.
为什么突然就可以使用倍速播放了

已采纳回答 / 翱睿
这个实体指的是操作流的类的实体
可以看出老师水平很高

已采纳回答 / Manny2011
还是数据编码及存储的原理还没有搞清楚.^_^ 首先,我们用键盘写文件时,是以输入码进行输入的,比如拼音类的输入法,或者是五笔字形输入法,输入之后,它会把你要输入进去的字符保存成机内码,也就是0 1所组成的机内码,因为计算机只认识这种01 编码的二进制码. 当然对西方字符的话,相对字符少,最常用的ASCII编码规则(8*16的矩阵),已经可以涵盖所有的西文字符. 而对于中文字符,就复杂些,因为光汉字就有成千上万个,所以又需要另外一套编码规则,将所有这些中文字符涵盖进去,说白了,就是给每一个汉字附一个唯一的二...
3分钟左右
IllegalArgumentException
参数错误,不合法异常
这里说的就是传入的File对象错误,或不合法
终于到了 要重复看视频的时候了
老师这个比喻非常到位
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消