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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
@毛毛南京 0xff = 0x 1111 1111 = 0x 0000 0000 0000 0000 0000 0000 1111 1111
明白了吗
啥也没懂.
Integer.toHexString(b & 0xff) 其中&0xff的原因解释的不对啊,不是把前面的24个0去掉,而是为了去掉前面的24个f
这个不对。哪儿来的24个f,顶多也是6个f.24个1吧。 把前三个字节全停掉了。不管是f还是0
怎么感觉评论都莫名其妙。。
listDirectory()是所在方法的方法名,这里递归调用了
我决定在看一遍- -!

最赞回答 / 天涯蝶舞
0x表示16进制,16进制用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F来表示,一个字节用16进制表示就一个两位或一位的数,例如a,0f,af,ae,3b,e,c等,其中一位的可以补0,例如0a,0e,0c。当只有一位时,f就说最大的,所以只要比16进制的f小或相等,一个字节转换为16进制就一定只有一位,这个时候就需要对其补0才能使两位数,所以表示为b <= 0xf

已采纳回答 / 自然自清
采用字节数组做参数,一次不仅可以写入一个汉字,可以写入一串汉字!
感觉老师应该结合NIO.2下的模型来讲
同学们听课好认真,一个嗝都不放过.
在实际项目里进行文件上传下载读写操作, 最复杂的应该就是这个文件流部分了. 还是得好好学学才是 .
不懂为啥楼上的说要有汇编语言基础? 又没让你去频繁对系统文件进行什么位操作...

最赞回答 / IT界小嫩草一枚
不知道你有没有看read这个方法的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 这个值,不过为什么要返回-1, 是人家自己设计的,如果感兴趣可以去看源码。希望能帮到你
学这节课之前,需要有一定的汇编语言基础
也算深入浅出了,细节知识不是很详细,有几个细节知识是我自己谷歌了很多次才找到的,比如 1.read()返回的int值是0~255,对应byte取值 -127~127 ,负数是补码(取反+1) 2.向已存在的文件循环写入的时候,writeObject 会每次都写文件头,导致读取出错,要重写writeStreamHeader()方法 3.写文件到指定目录 if(!path.exists()){path.mkdirs();path.mkdir();}if(!file.exists()){file.createNewFile();}
家挖哈哈哈哈哈哈哈哈哈哈哈神经
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消