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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
我看了一遍视频,有点云里雾里的感觉,然后把不明白的东西百科了一下,再看这个视频,就全明白了!
看完了,坚持看完了老师的反射和IO两个视频系列,收获颇丰。

最赞回答 / tlojy
在父类没有实现 Serializable 接口时,虚拟机是不会序列化父对象的,也就是说序列化后的流中没有父类的信息;而一个 Java 对象的构造必须先有父对象,才有子对象,反序列化也不例外。所以反序列化时,为了构造父对象,只能调用父类的无参构造函数作为默认的父对象。
其实对象化序列有点像C语言里结构体的功用,不知各位怎么想?

已采纳回答 / Coder编程
能正常读写说明已经创建成功了,你可以尝试右击你的项目名 F5刷新(Refresh)。也可以进入你项目所在的磁盘位置查看一下是否存在。不知道你用的是什么编辑器。如果还不成功,可能是缓存问题。重新导入项目
全屏时进度条一直跳出应该是用的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字节
很喜欢老师的风格
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消