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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
老师讲的真好!很详细!很认真!
生活、工作中能有这么一个朋友就好了!
老师加油!慕课网加油!
老师有好多东西没讲清楚 还要自己去查
其他的不说,指一下讲错的地方。
直接贴一下主要的程序
int len = 0;
byte[] buf = new byte[64];
//缓冲区的意义在于使用的字节数组不必很大,使用适当大的byte数组的Buffered方法,就可以与超过缓冲区大小(比如1M大)的byte数组的普通copyFile方法的效率相当。
while((len = bis.read(buf)) != -1){
bos.write(buf,0,len);
//此处不要加flush,否则会失去缓冲的意义
}
之前对文件的操作总是有点无厘头,现在听了,很多都窜起来了,谢老师。
buf[i]&0xff 是啥意思?前面不是已经有了tohexString吗?
13:07 的嗝是什么鬼? 老师吃太饱了吗? 哈哈
适应老师的节奏以后感觉老师讲的超级好

已采纳回答 / 沐风Felix
只是为了整齐好看而已,没有特殊意义

已采纳回答 / 我爱喝水1
因为程序有可能抛出异常,必须在main函数里捕获异常(try catch掉),或者继续将异常向上抛出,就是你这样的

已采纳回答 / 早饭荷包蛋
第一个问题:<...图片...>    我查看这个函数,read的返回值是the next byte of data,很明显,是下个读到的字节;第二个问题:    bos是输出流,bos.write()就是将数据写到输出流,有什么问题吗?    就像bis是输入流,bos.read()将数据读入输入了流;    bis是一个桶,bos又是另一个桶,明白了吗,不懂继续追问

已采纳回答 / 高原火狐狸
这点说的我也有些晕。我理解是:一共有A(源文件)、B(程序)、C(目标文件)三个桶,A装满了水,B、C都是空的,要把A的水通过B桶全部转移到C桶。单字节:一瓢一瓢从A舀水到B桶,再从B桶一瓢瓢舀水到C桶;缓冲读取:一瓢一瓢从A舀水到B桶,将B桶水直接倒入C桶;比单字节快一点;批量读取:直接从A桶倒水进B桶,再从B桶倒水进C桶;最快。从最后性能对比看,应该是这样的,老师解释的时候没有把B桶说太明确。
woider 说的非常正确 推荐同学们都去看看她的评论 woider是高手
这老师是有多着急,就不能慢慢讲吗,很多概念根本不懂就直接讲,还是 小慕@ 老师讲的好啊,哎···

最新回答 / 一条小咸鱼
就只有\吧,因为路径就只会用到: \,而\是转义符的开始,为了和\t,\n这一类区别,需要用\\转意为\
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消