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

文件传输基础——Java IO流

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

已采纳回答 / SHsama
两个汉字,四个字节。按你所说,你觉得应该使用四次写操作,但是那是相对于直接写入字符来说的,此处使用了字节数组,数组相当于一个有序的容器,在数组中”中国“被分成四个字节依次写入其中,out.write(bytes);就将这个数组写入其中,数组其中的写字节操作在内部进行,不是靠四个write操作写入的。你可以将鼠标放到你写的write上可看到该方法提示Writes b.length bytes from the specified byte array to this file output stream....

已采纳回答 / 宝慕林0707671
这个A是char类型的,一个char等于两个字节。write一次写出一个字节。所以会将这个字母的低八位写出

已采纳回答 / 向上看
因为你每run一次,指针都是从0开始的,每run一次都改写了上一次内容,你可以尝试运行一下老师的程序,然后再在程序前添加 raf.seek(12),使下一次从12byte处开始写,运行后你会发现输出长度为24

已采纳回答 / 汉江怪人
不是的,默认的是将有效的和无效的全部都序列化了。

已采纳回答 / 张土土
只有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编码规则于是乎内容就生气了“。。。。。。...
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消