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

文件传输基础——Java IO流

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

最赞回答 / BuRanda
好叭 没问题了

已采纳回答 / 雲中菩提
序列化就是保存对象数据状态的。反序列化就是恢复对象数据状态的。再打个比方吧:Cookie,用户数据被序列化,保存在本地。可以看到,Cookie实现了序列化接口:<...code...>你在打开购物网...

已采纳回答 / 雲中菩提
当然不是。其实在硬盘上查找,读写数据是靠磁头这个搬运工的。而数据的载体是内存。磁头从硬盘中读取数据到内存,就像搬箱子,从内存中写出数据到硬盘,就是卸箱子。如果有10个箱子,从A到B,来回的时间是1s。搬起(output)与放下(input)一个箱子也需要1s 。如果一次只搬一个箱子,需要来回10次,搬完需要20s。如果一次搬起(read)、放下(write)10个箱子,那么只需要来回一次,搬完也才11s。批量读和单字节读,节约的时间,就是在运输途中。

已采纳回答 / badbomb
假如 if(){} 后还有代码,抛出异常会终止程序的运行,而你用syso打印还会继续执行下面的代码。

已采纳回答 / Javer_
嵌套应该是涉及到它类的定义,在它的构造方法中需要输入FileInputStream的实例化对象至于byte转char,其中的byte应该是指read()方法从isr中取出的一个字节(以int形式表达),而不是它的参数

最赞回答 / Javer_
RandomAccessFile 可以随机读取、写入,但是操作效率太低,太复杂,不及流输入、输出中方法来简便

已采纳回答 / 好帮手慕珊
IOUtil是一个雷,printHex是这个类中的静态方法,使用类名调用就行了

已采纳回答 / godspeed_26
所有的文件都可以理解为是byte[]。而1个byte占1个字节,一个Int是4个字节。所以说你写进去的东西将会出现乱码,除非你已readInt().或者已write()写read()读,总之你的输入和读取的类型要相同。

最赞回答 / leaf_xiao
String 有很多构造方法的,输出结果乱码的话,你可以指定一下字符集编码。<...code...>如果还是乱码,可以把 UTF-8,换成其他字符集编码,比如GBK。

最赞回答 / greenhandc
如果本来目录是不存在的,前面就会创建一个,后面的判断就为true,也就是说你这次运行跟下次运行的结果肯定是相反的

最新回答 / leaf_xiao
read() 返回的是 读入缓存的总字节数;如果因为已到达流末尾而不再有数据可用,则返回 -1。返回 100,说明已经读取了100个字节数到缓存数组中;返回-1,说明已经读取到了流末尾,没有数据可读了。上面代码,第一次已经一次性把流内的字节读完了,所以后面都是返回-1。

最新回答 / Mrwanglei
编程思维吧。遍历一般用递归

已采纳回答 / 化龙贝
<...code...>网上找的,不知道用木有用,你试下
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消