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

文件传输基础——Java IO流

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

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

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

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

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

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

最赞回答 / Pikaqiu_01
因为你的源文件和目标文件名称一样,所以在找目标文件时发现了和目标文件名称一样的源文件,就把源文件删除了重新创建了一个文件,所以你的源文件就没有了,老师视频里面有讲到,当你给出一个路径时,如果没有这个文件他会创建这个文件,如果存在这个文件他会把这个文件删除再创建,如果你不想这个已经存在的文件被删除,只是想要续写他,需要再加一个true,如果我没记错应该是:new File("文件路径",true),具体的你可以再听一遍

最赞回答 / 忆丶惜
评论栏的右边有个资料下载

最赞回答 / 小小小小小柯丶
我的理解是,视频里面老师展示的是单字节处理,批量处理和单字节带缓冲区处理,其中处理速度:单字节处理<单字节带缓冲区处理<批量处理。但是并没有讲到批量带缓冲区处理,也许你试试这种方法更快。

最新回答 / PzZZ
先建一个文本文件,然后进入这个文本文件打一个联字,再保存再进入,你会发现乱码,因为联这个字是很巧合的被utf-8识别存储的,如果你建完文件直接打联,再保存就不会乱码了,因为它被存储为ansi了

最新回答 / 丑丶小亚
就是百分之千万的确定,files数组中是有东西的,避免程序异常。

最新回答 / qq_噪音王_0
就是,我往记事本里写了几个汉字,然后读取,每次都是先读取出一个?,然后再出现我写的汉字
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消