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

文件传输基础——Java IO流

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

已采纳回答 / 落叶萧萧online
b这里可以不进行&0xff,因为源码里已经进行了该操作,另外我们读取的本身就是一个字节,所以只取低八位不会改变原来的结果,只是输出形态会有区别。

已采纳回答 / qq_顿首_0
看看你的项目的编码格式吧,我的是utf-8的,这样也是三位,视频里面的项目编码格式是GBK的

已采纳回答 / 慕粉1431473803
raf.read(buf)是没有返回值的,不能直接写到Arrays.toString()中。Arrays.toString()的括号中是要一个数组。raf.read(buf)的意思是读取文件的内容存放在buf中,不对请指教

已采纳回答 / 舒方
c是整型,打印出来是一串整数   除非文件中没有内容

已采纳回答 / Jenichan
因为十六进制数总共有4个字节的符号,我们为了美观,不要显示多余的符号而取有意义的数的时候我们就要跟我们获得的值的位数相&,这样前面的ffff就有消失,你可以去掉&0xff试试。

已采纳回答 / betME
一个字符根据编码方式的不同所需的字节数也不同,gbk编码的一个字符需要2个字节,而write方法是写入一个字节,因为系统会将后八位写入。

已采纳回答 / WhiteJj
这本身就是一个用于判断是否读取到文件的末尾,如果读取到文件末尾,bytes的值就为-1了呀,while循环就会结束了呀

已采纳回答 / 慕粉4407418
那个是上一节课老师写的类中的一个方法,所以跟这一节课没什么关系。它是独立执行的。

已采纳回答 / 涅米
while后面的(b=in.read())!=-1返回的是一个布尔值,而这个值只有在文件读到结尾的时候才返回false,即in.read==-1,所以在读完之前返回的都是true,都可以执行循环b的值本身不会变化,但是文件的指针pointer在每次循环后都会加1,所以每次b读出来的值都是不一样的if的判断条件是i++%10==0,先判断i%10的值是否为0,然后自增1,此时i=i+1,然后进入下一个循环,判断i+1的值除以10余数是否为0,所以就算if的条件不满足,i也执行了自增

已采纳回答 / 阿莫林西
反斜杠/是可以运行的。但是你怎么把冒号写成分号了!
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消