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

文件传输基础——Java IO流

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

最新回答 / 慕工程2957023
我觉得原因是,即使是批量读取容量也是有限的,不一定能一次读完,所以要加循环

最新回答 / 一个什么样的人
RandomAccessFile 可以随机读取、写入,但是操作效率太低,太复杂,不及流输入、输出中方法来简便

最赞回答 / Its_forever
在32位的电脑中数字都是以32格式存放的,如果是一个byte(8位)类型的数字,他的高24位里面都是随机数字,低8位才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误的发生。

已采纳回答 / 孤寂0123
betys=in.read(buf,0,buf.length),读取信息内容的时候,将信息暂时存入buf数组,一次性读不完的,会将读取到的信息的buf数组循环释放的,然后再继续存入buf数组,继续释放------我是这样想的,仅供参考

最新回答 / TalentQ
第一种方式:写入的是一个“中”的字符串,而第二种方式,则是先将这个字符串转为字节数组,然后以字节的形式直接写入

已采纳回答 / chrt
java默认的编码方式是unicode big endian,即大端存储方式的unicode,具体数据的高位字节存放在低位地址上。关于大端模式和小端模式可以进一步百度。

最新回答 / Yaro
因为序列化写入那么文件,父类可以被序列化,父类也被写进去了!直接在那个文件里就能找到父类,所以不需要调用父类的构造函数。反之一样!

最新回答 / 春暖不开花
这边如果写一个字节不够,是需要将字符,挪8位,写两次写进去么

已采纳回答 / Its_forever
Java 中的一个byte,其范围是-128~127的,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展,举例来说,一个byte的-1(即0xff),会被转换成int的-1(即0xffffffff ), 那么转化出的结果就不是我们想要的了。 而0xff默认是整形,所以,一个byte跟0xff相与会先将那个byte转化成整形运算,结果的高24位就会被清0,这是我们想要的结果。 看看这篇博客吧,http://makemyownlife.iteye.com/blog/104...

已采纳回答 / Its_forever
那三个文件,保存的时候都是用的ANSI编码,记事本默认编码,可以新建一个记事本直接另存为,看看他的编码格式就知道啦。只是打开的时候,由于联通二字的ASNI编码为:FF FE 6A 00 68 03 ,UTF-8编码为:FF FE 54 80 1A 90。 因为都是FF FE 开头的,记事本不能判断你保存时的编码标准,只能“猜测”你保存的时候的编码标准,因为联通二字的ANSI编码正好是以“FF FE”开头的,这样以ANSI编码(笔记本默认编码)保存以后再次打开,记事本首先检测到“FF FE”,就认为是UTF...

最新回答 / 收拾好鑫情
一般是布尔类型的就写true或者false,这个boolean autoFlush只是说写一个boolean类型的值

最新回答 / 叶乐乐
一个是带缓冲的,一个是不带缓冲的。10M一下的文件,不带缓冲的会快一些。对于较大的文件,带缓冲的就会更好一些。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消