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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
这个老师讲的很好。。很清晰,学二进制,都是一边看一边查资料。。
我看了一遍视频,有点云里雾里的感觉,然后把不明白的东西百科了一下,再看这个视频,就全明白了!
看完了,坚持看完了老师的反射和IO两个视频系列,收获颇丰。
其实对象化序列有点像C语言里结构体的功用,不知各位怎么想?
全屏时进度条一直跳出应该是用的360的浏览器。把全屏时右上角的小窗口播放按钮点×就好了。
FileOutputStream.flush() 在用缓存时才会有用。
排名靠前同学问out.write(buf, 0, b)的,仔细听课,听不明白就Google。
老师边讲变打出来 很好
PS: 以上内容纯属瞎编。
持了两个数的十进制相同。
举例:当不用 b & 0xff时 byte:-1 二进制(补码):1111 1111 转为Int(补码):1111 1111 1111 1111 1111 1111 1111 1111。本来我们想要的是 -1 的十六进制字符串 ff,结果得到 ff ff ff ff。当byte是正数时不影响。所以要使用 b & 0xff,处理流程:首先 Jvm检测到byte可能转化为Int,就将byte的高位补0或1(按符号位补0或1,即正数补0,对我们要的结果不影响。负数补1,结果就多了个 ff ff ff)因为我们只要低8位,所以与0xff与运算,把高位都变为0。
System.out.print(Integer.toHexString(b & 0xff) + " ");
如果把Integer.toHexString(b & 0xff)换为Integer.toHexString(b)则处理流程:
1、先将b转为int(Integer.toHexString()的参数是Int型)
2、从低位每4位(bit)转为十六进制,如果得到的十六进制高位是0则舍弃.(如转化为16进制是00 00 00 0A则得到的字符串是 A )
之所以用 b & 0xff 是因为在第 1 步,当一个字节(byte,范围-128到127)类型转换为Int型时,保
J1J
一个中文在utf-8格式下可能占用3或者4个字节。
中国这两个字应该都是4字节
很喜欢老师的风格
自己用了一下RandomAccessFile,感觉真心不好用。
byte[]数组的大小我们可以通过File的length()或者FileInptStream的available()来得到文件字节的大小,这样开辟出来的内存大小就跟文件的字节数是一致的。例如:byte[] buff = new byte[(int) fileNames.length()];因为length返回的是long类型的,最大数值可以支持1TB,而FileInputStream的availbale()返回的是int类型的,最大数值只能支持到1.99GB,所以使用length()可以避免很多不必要的错误和麻烦!
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消