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

文件传输基础——Java IO流

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

最新回答 / 美丽金
buf中存的是整数的补码,String s2 = new String(buf)解码用的是项目默认的编码,所以会烂码
//RandomAccessFile抽象的读和写
//FileInputStream 具体的读取数据
//FileOutputStream 具体的写操作
又加深了我对IO流的认识,谢谢老师

最新回答 / deyin_Karl
b和1111 1111 1111 1111相与前边位数为0
谢谢老师,老师是最帅的

最赞回答 / 九尾猿
java 中的string 是不可变的,write的时候虽然右移了但是并没有改变 str1本身,而是重新创建了一个右移后的字节,因此不会有你说的问题。不知道这样讲明白么?
java.io.EOFException :ObjectInputStream读取对象时候,可能读到文件末尾或没读到东西,程序无法正常读取文件内容。建议加读取判断条件或者放入一个容器里读

最新回答 / yyz要学java
用快捷键 try ...catch试试
这函数 ...在下服了

已采纳回答 / 该取什么名字
while条件里bytes是int类型,先执行bytes=in.read(buf,0,buf.length)对bytes赋值,再判断bytes是不是等于-1,bytes表示buf中读到数据的长度(<=buf.length),没读到返回-1,buf.length=0时返回0
我用一个200M的文件测试,flush()方法写到循环里,用System.currentTimeMillis()获取时间。用Buffered方法是11000ms左右,用FileOutputStream和FileInputStream是4300ms左右。flush()方法写到循环里面的话,用FileOutputStream和FileInputStream是4450ms左右,用buffered等了几分钟都没完成。

最新回答 / 阿双otw
RandomAccessFile 一次只能写一个字节,"a"是个字符串,可以换成'a'或者"a".getBytes();getBytes()方法可以设置编码类型如gbk,utf-8等
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消