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

文件传输基础——Java IO流

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

最赞回答 / 青春因你而精彩
例如输入一个int类型的数据,这种类型的数据占据了4个字节(00000000  0000000 00000000 00000000)(从左向右:高—>地)存储格式  而write中()方法一次性的只能写进去8位,即一个字节(00000000),故此从高位至地位一次写入,写四次。 不太懂你到底想要知道什么?按自己理解的说的,不足勿怪。

最赞回答 / Jarly杰
在序列化过程中,如果被序列化的类中定义了writeObject 和 readObject 方法,虚拟机会试图调用对象类里的 writeObject 和 readObject 方法,进行用户自定义的序列化和反序列化。如果没有这样的方法,则默认调用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。用户自定义的 writeObject 和 readObject 方法可以允许用户控制序列化...

最赞回答 / 慕田峪6843565
不晚,到什么都不是问题,只有技术过硬,到哪都能过的去!

已采纳回答 / 森特
楼主可不可以把错误的原因一起放上来呢?Bar2方法有没有写?

最新回答 / helloworld2008
也会有这样的情况。该目录下什么都没有,那么这时返回的数组长度就是0。那就没有东西可以打印了啊。

已采纳回答 / 阿甘LG
序列化和反序列化可以同时操作,比如读取文件1里的内容后,再把该文件1的内容拷贝(写入)到文件2里去,这样就需要同时操作输入和输出,输出表示序列化,输入表示反序列化。老师为运行程序方便才每次运行都要把另一个操作注释掉,不然可能运行出现某些错误。

已采纳回答 / potatofootball
可以参考java入门第一季的第四章

已采纳回答 / 慕粉3291149
因为 你是 Bar2 bar2 = new Bar2();   bar2 = (Bar2)ois.readObject();但是老师写的是   Bar2 bar2 = (Bar2)ois.readObject();  这里要注意的是 老师并没有去new一个Bar2对象而你却是先new出来的 肯定会调用父类的构造函数

最新回答 / hzhu
序列化主要是为了方便将对象保存到文件或进行网络传输,所以对文件大小和效率有较高的要求。默认序列化会把对象的所有字段都予以保存,自己序列化就可以去掉一些冗余的不需要保存或传输的部分,能够提高效率

最赞回答 / MaskTrueFeeling
read(buf,0,buf.length)   返回的是读取字节的长度。read()   没参数的   返回的是指针对应的下一个字节。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消