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

文件传输基础——Java IO流

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

已采纳回答 / 木D羊
 RandomAccessFile raf=new RandomAccessFile(file, "rw")应该改为: RandomAccessFile raf=new RandomAccessFile(file2, "rw");file是个目录,不是文件,不可以进行读写操作

已采纳回答 / isunym
你要先下载好rt.jar.src,然后双击write()这个方法,进去,点击Attach Source,选择External location,选择External File,选择rt.jar.src路径,添加进去之后,再回到代码那里,双击write()方法进去就可以看到源码了。源码下载地址:http://download.csdn.net/download/czqiang007/5883777以后需要源码的地方都可以这样添加,希望可以帮助到你!

已采纳回答 / 慕后端2198842
一个对象一个对象地序列化存进文件,反序列化的时候也一样,一个对象一个对象往外读,先存的先读出来,后存的后读出来。跟字节字符的读写同理

最赞回答 / 宋杰
第一:你首先要搞明白编码问题。编码说白了解决的就是字符如何转换成字节(编码)以及字节如何转换成字符(解码)。第二:java IO分为字节流和字符流。字节流和字符流都有很多的实现类,用于不同的场景。第三:为了性能和方便性等考虑,java IO使用的装饰者模式对一些类进行了装饰。如果不知道装饰者模式,请先了解一下。

已采纳回答 / 大胶布
这个demo代表啥?代表上边那个目录么,那就换成file1或者“demo”吧

已采纳回答 / lucitas
因为1的ascii码是二进制是49  16进制是31,你在文件中写8个1用的应该是默认的gbk,gbk兼容ascii码  应该是这样的

已采纳回答 / IcebergLee
如果所处理的文件是个特别大的文件,那么这个字节数组就会太大了,多浪费内存!!整不好还能死机!!!

最赞回答 / 高恒博
你文件里面之前有你内容,你删除文件重新运行一遍就可以了。

已采纳回答 / 萌萌哒猫头鹰
因为10在ascii码中就是lf换行,所以会另起一行。如果你写32进去那么就是一个空格了。writeBytes(String s),是将字符串以一个字节一个字节写入输出流,如果字符是大于8位的,那么高8位就会被舍弃。...

最新回答 / helloworld2008
你是两个并列的if语句,又不是if else语句,执行前者就不执行后者。。。你的两个if语句都会执行,【文件目录不存在,创建目录;文件不存在,创建文件】

最赞回答 / lucitas
你file是不是指定的路径中有多个不存在的目录,然后你再用createNewFile方法想创建这个文件。这样貌似会抛出异常。你得先用mkdirs创建多级目录再用createNewFile方法才可以成功创建文件

最新回答 / 慕后端2198842
因为你存进去的是对象的序列化信息,是以一定的特殊方式转换成字节码存进去的,但是你直接打开文件的时候,是以文档的形式查看的,识别不了就乱码了
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消