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

文件传输基础——Java IO流

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

已采纳回答 / 慕雪6201052
因为他过时了。该类童工了对文件的操作,包括写于读,与其他的IO类基本没有多大的关系,是一个独立的类。而最新的IO操作,分的特别详细,包括输入流,输出流,读与写等等。不再是以前的单一类可以完成的。内存映射,,差不多可以取代RandomAccessFile 了

已采纳回答 / 慕田峪1616461
如果是read(byte[] b),若最后一次读取的长度不及数组的长度,则后面的内容会是上次读取残留的内容;如果是read(byte[] b, int off, int len),若最后一次读取的长度不及数组的长度,则后面的会为空,解决了为什么用read(byte[] b)读取产生的结果比原来多的问题

已采纳回答 / 慕粉2335383635
f是16进制数,ffffffc4 化为二进制就是1111 1111 1111 1111 1111 1111 1100 0100 ;0xff化为二进制是1111 1111;&是按位与,ffffffc4 & 0xff 时0xff高位补0, 最后得到的二进制数是0000 0000 0000 0000 0000 0000 1100 0100,转化为16进制就是0xc4,高位的0忽略掉

已采纳回答 / 骑着毛驴追太阳
<...图片...>判断条件有问题,你试试这种判断方式

最赞回答 / 一五五一
ObjectOutputStream的实例调用writeObject(obj)方法时,虚拟机通过反射检查对象的类是否实现Serializable接口,如果实现,则虚拟机内部进行序列化操作,同时通过反射检测类是否有writeObject方法,如果有则调用obj的writeObject方法,反序列化类似。我是这样理解的,欢迎指正。

最赞回答 / YI_F
引用woider所讲的:使用缓冲字节流复制确实是最快的方式,但对于小文件10M以下的文件体现不出优势,对于百兆文件正确使用,时间可以控制到50ms内。视频中的缓冲字节流使用有错误,复制文件最快的做法是将批量读取到的字节数组使用缓冲写入到文件,在机器性能范围内字节数组越大越快。在循环写入的过程中不需要使用flush,就像cwt8805说的,缓冲输入流在关闭的时候会将所有缓冲区的数据全部写入文件,使用flush刷新缓冲就失去了缓冲的意义。最后关闭IO流和文件流应该在finally中关闭,否则IO异常时执行不到...

最赞回答 / red_joker
这个进入死循环了吧,dir参数调用的时候是你自己写的地址,他下次判断的时候不还是这个地址么,没有遍历的元素

已采纳回答 / 慕粉1927036099
一个a和b分别是一个字节,四次i是四个字节,但是又接着把i按int写入,是四个字节,gbk编码的中文是两个字节,总共十二个字节

最新回答 / 政政0213
过滤器是针对字符操作的,是为了防止编码问题,通常网络传输与本地文件尤其是txt.doc,数据库导出表excel等时需要注意这些问题

已采纳回答 / define_ray
刚测试了一下,raf.read() 读取一个字节时,指针也向后移动一位,指向下一位置。所以再write之后输出3。

最新回答 / 慕婉清0689395
你这样写的话你文件存在就不会进行输出了啊,应该把你创建文本文件下面的语句放到if条件判断外面,不然执行不到。

最赞回答 / Pikaqiu_01
因为你的源文件和目标文件名称一样,所以在找目标文件时发现了和目标文件名称一样的源文件,就把源文件删除了重新创建了一个文件,所以你的源文件就没有了,老师视频里面有讲到,当你给出一个路径时,如果没有这个文件他会创建这个文件,如果存在这个文件他会把这个文件删除再创建,如果你不想这个已经存在的文件被删除,只是想要续写他,需要再加一个true,如果我没记错应该是:new File("文件路径",true),具体的你可以再听一遍
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消