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

文件传输基础——Java IO流

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

已采纳回答 / 慕粉2335383635
f是16进制数,ffffffc4 化为二进制就是1111 1111 1111 1111 1111 1111 1100 0100 ;0xff化为二进制是1111 1111;&是按位与,ffffffc4 & 0xff 时0xff高位补0, 最后得到的二进制数是0000 0000 0000 0000 0000 0000 1100 0100,转化为16进制就是0xc4,高位的0忽略掉

已采纳回答 / 骑着毛驴追太阳
<...图片...>判断条件有问题,你试试这种判断方式

最赞回答 / red_joker
这个进入死循环了吧,dir参数调用的时候是你自己写的地址,他下次判断的时候不还是这个地址么,没有遍历的元素

已采纳回答 / 慕粉1927036099
一个a和b分别是一个字节,四次i是四个字节,但是又接着把i按int写入,是四个字节,gbk编码的中文是两个字节,总共十二个字节

已采纳回答 / define_ray
刚测试了一下,raf.read() 读取一个字节时,指针也向后移动一位,指向下一位置。所以再write之后输出3。

已采纳回答 / _哦
把Integer.toHexString(b)这个改成Integer.toHexString(b & 0xff)就一样了。

已采纳回答 / qq_Hasneverforg_0
因为此处有两个异常—— FileNotFoundException, IOException ,而他们都是Exception的子类

已采纳回答 / qq_为妳战天下_0
内容在raf中,raf.read(buf)就是说从raf读取内容,放进buf中去,所以buf是由内容的,求采纳

已采纳回答 / 益达佳帅
一般你在main函数体里面,打syso然后按Alt+“/”,就会自动打印出来了。如果你设置了快捷输入,直接打syso也会直接提示。

已采纳回答 / FarFromAnyRoad
为什么乱码肯定是乱码啊,  你使用了DataOutputStream,把int long String 都存了进去。你打开这个文件,使用系统的notepad程序,notepad程序不知道你这个什么编码,用了ansi,吧intlong什么都放在一起当GBK处理了。怎么做不乱码不要用记事本打开DataOutputStream创建的东西,看不到乱码,眼不见心不烦。你自己知道是什么,用DataInputStream或者InputStream能取出来用就行了。

已采纳回答 / 下线123
记事本里采用的是默认编码是ANSI<...图片...>,但是你项目中有很多编码方式,java默认的是utf-16be,你写汉字时使用的是writeUTF()这使用的是utf-8编码,你代码中也有注释的,所以编码方式不统一,自然会出现乱码

已采纳回答 / qq_一人的征程_0
看API文档的解释,the total number of bytes read into the buffer, or -1 if there is no more data because the end of the file has been reached.读到数据字节个数,如果没有读到数据时,返回-1

已采纳回答 / qq_猫的心_0
以为printHex()方法是在IOUtil类中的静态方法,只能通过类名来调用

已采纳回答 / biubiu3504110
对于中文字符,UTF-8编码要用三个字节进行编码,因此,如果你使用记事本录入“联通”,然后选择以UTF-8编码方式保存的话,文件大小应为9个字节(包含三个字节的开头数据),而同样的文件GBK编码却是4个字节。最后附上“联通”的GBK、UTF-8、Unicode编码值,以及记事本的错误思维。 联通 GBK C1 AA CD A8    UTF-8 E8 81 94 E9 80 9A     Unicode 54 80 1A 90 联通 GBK C1 AA CD A8    UTF-8 C1 AA CD A8...
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消