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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
我觉得应该直接写 fr.read(buffer) 比 fr.read(buffer,0,buffer.length) 更好,感觉 buffer.length 是多余的
看了两遍懂了,初学
我觉得flush()写在while循环外比较好,flush()是将未满的缓存送出去,保证传输的完整性,写在while内的话,buffer流就相当于单字节传输方式,不是一个缓存一个缓存的送出去,效率变低了,buffer只有缓存没满而恰好文件读取完成时才要用到flush(),所以写在buffer的close()之前就好,不用写在while内

最赞回答 / oper
if (file.isDirectory() && file.listFiles().length > 0) {                    // 递归                    listDirectory(file);                } 按楼主增加的判断条件,才会打印空目录
加哇。。。
厉害,在没有使用队列的情况下就完成遍历
从底层代码的角度解释了DataInputStream/DataOutputStream和FileInputStream/FileOutputStream的关系。瞬间就清晰了,不会被那么多种类型的流弄乱。也很容易理解为什么DataInputStream的构造中要传入FileInputStream对象。给老师稍稍点个赞!
那句“如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码”,中“认识”二字很容易产生误导。容易让人误以为记事本程序只能读取ansi编码的文档,没法解析认识其他编码的文字。准确点应该说,“如果我们在中文机器上直接创建文本文件,那么文本文件默认以ansi编码来保存文字信息”。

最赞回答 / 源代码_思无邪
使用:System.out.println(raf.readInt());就可以读出你想要的数了。
个人觉得应该是:在记事本创建.txt文件,默认以ANSI编码保存文字。而"联通"二字的编码刚好也符合utf-8的格式,所以打开是记事本认为该.txt文件是以utf-8编码储存信息的,所以便以utf-8规则来显示内容。
#要在记事本里显示单独"联通"二字,怎么办?# 创建.txt文档,另存为utf-8格式,再写入"联通"二字即可。
这种方式讲编码挺新颖的,不过还是有些许该不太懂。编码这种问题实质上挺深奥的。。。。。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消