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

文件传输基础——Java IO流

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

已采纳回答 / 慕粉3549847
老师的这句话没毛病,只是说分情况而言! 1个汉字 = 1个字 = 1个字符 1个字符 = 1个字节 = 8bit(ACSII码下) 1个字符 = 2个字节 = 16bit(Unicode码下)

已采纳回答 / KeT
这个while循环就是为了读取完要读取的东西。同时也像你说的为了防止它为空。而且,按照正常情况,buf是字节数组,应该是1024字节的倍数吧,有时候一次读不完,所以用个while循环来判定。望采纳,谢谢。

已采纳回答 / Jathy
在Windows中后缀名,比如.dat .wmv .mp3.通过后缀名来区分不同的文件类型,进而让计算机知道用什么软件来打开,但对于读取文件因为都是byte的内容,不需要任何软件进行识别,只是简单读取,所以以什么后缀名结尾其实没那么重要,哪怕是 .zhebushihouzuiming 也可进行读取。以上只是个人观点,如有错误希望指正! ^.^

已采纳回答 / 2012还是1984
都是IO包下的类,如果这个没有,那么其他的也会没有。你看看是不是没有导入包:import java.io.ObjectInputStream;

已采纳回答 / 慕粉4143473
原因:显示红色感叹号是因为jar包的路径不对解决:在项目上右击Build Path -> Configure Build Paht...(或Propertise->Java Build Path),在JavaBuild Path中Libraries,红色叉号的包为路径错误的包。处理好后返回刷新工程即可,这个问题一般是导入别人的项目或之前的一些JAR包移动了它的存储位置。

已采纳回答 / 明天在那里
前面的0x表示是十六进制的,而ff是两个十六进制的数,每个f用二进制表示是1111,所以占四位,两个ff是一个字节.用二进制表示就是11111111

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

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

已采纳回答 / 邓孤思
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是用来具体输出的

已采纳回答 / 翱睿
这个实体指的是操作流的类的实体

已采纳回答 / Manny2011
还是数据编码及存储的原理还没有搞清楚.^_^ 首先,我们用键盘写文件时,是以输入码进行输入的,比如拼音类的输入法,或者是五笔字形输入法,输入之后,它会把你要输入进去的字符保存成机内码,也就是0 1所组成的机内码,因为计算机只认识这种01 编码的二进制码. 当然对西方字符的话,相对字符少,最常用的ASCII编码规则(8*16的矩阵),已经可以涵盖所有的西文字符. 而对于中文字符,就复杂些,因为光汉字就有成千上万个,所以又需要另外一套编码规则,将所有这些中文字符涵盖进去,说白了,就是给每一个汉字附一个唯一的二...

已采纳回答 / Old_dai
直接子目录的抽象就是文件夹的路径,视频里说的子目录就是文件夹的意思。dir.list()返回的是文件和文件夹的名称,返回字符串数组;二dir.listFiles()返回的是文件和文件夹的路径,返回File对象
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消