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

文件传输基础——Java IO流

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

已采纳回答 / 张土土
只有read是读一个字节就输出一个,遇到-1结束,用上数组,就是读取一定个数(数组长度)字节后(遇到-1结束)才输出。

已采纳回答 / wakinzc
因为Student中的字段都会被默认的进行序列化,如果有的字段被transient关键字修饰 则不会被序列化,需要手动序列化。

已采纳回答 / 历飞雨
前面不是设定了一个条件吗?每输出10个byte就换行,这个if语句就是用来换行的while((b=in.read())!=-1){            if(b<=0xf)//如果输出的整形b字节小于等于4位,就让它补0,就是让它刚好占一个字节,便于观察                System.out.print("0");            System.out.print(Integer.toHexString(b)+" ");//将整形b转换为十六进制表示的字符串          ...

已采纳回答 / chapelin_wang
老师可能手误吧,正常逻辑是如果文件不存在,则新建文件,否则就删除。至于异常,你调用的这个方法,它抛出了一些异常,在这里你要做处理,要么try catch, 要么继续向上抛(throws),如果回答有误,请联系我。本人也是小菜鸟一枚。

已采纳回答 / 历飞雨
java中0x开头表示的是该数为十六进制,如int i=0xf;//以0x开头表示十六进制的写法以0开头的表示该数是八进制,如 int n=010;//以0开头表示八进制0xff中的f指的是十六进制中的f,f转换为十进制是15,f转换为二进制是1111(前头可以根据位数的不同来补0)0xff中的ff指的是十六进制中的ff,ff转换为十进制就是255,ff转换为二进制就是1111 1111(前头可以根据位数的不同来补0)

已采纳回答 / qq__6307
先说说概念 RandomAccessFile 这个类 是对文件进行 读写 操作 而且 这个写 只是往里写东西 说白了就是 按照你输出的次序写入文件中,或者 进行拷贝。所以不能进行删除操作。File类可以进行对文件属性的访问有此操作,你可以结合在一起使用。

已采纳回答 / 向上看
byte[] buf=new byte[(int)raf.length()] //创建一个与raf内字节长度等长的字节数组raf.read(buf)//将raf内的内容以字节形式存在buf字节数组中

已采纳回答 / 慕码人0628686
while  应该是不等于-1啊

已采纳回答 / 律生息
一切都是由于BOM当我们直接在记事本中直接创建文本文件,不使用另存为那么文本文件默认以ansi编码来保存文字信息,却没有给他加上BOM,(BOM)就是该文本编码格式的标记,用来告诉记事本(或者其他软件这里面的内容有什么编码来解析)另存为这个过程就是加了BOM你没有另存为就没有BOM那么问题来了记事本说“mdzz,这到底要我怎么解析呢?没办法,一个个试吧,诶!“由于默认的联通,联,在用ANSI保存时,编码格式类似UTF-8,所以解析为utf-8,而联想不符合utf-8编码规则于是乎内容就生气了“。。。。。。...

已采纳回答 / 慕粉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包移动了它的存储位置。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消