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

文件传输基础——Java IO流

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

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

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

已采纳回答 / 三根
 new FileInputStream(file);如果文件不存在可以自动创建,但如果文件夹不存在它就会报错。exer这个文件夹要自己创建一下

已采纳回答 / 圊涩的苹果
跟直接输出字符数组的结果是不一样的。至于为什么要转换成字符串输出个人认为是因为是如果是你单单拿字符数组来输出的时候由于字符数据之间没有明显的分隔的界限,导致输出的字符是不一致的。而c是返回的是读到的字符的个数,用String来转换成所读到的字符来输出就可以很明显的分隔出来。以上只是个人愚见,有些地方说的可能不太清楚,欢迎来指正与讨论

已采纳回答 / qq_将暮未暮_1
一个三位数,例如100,有百位。十位,个位,个位就是低位。oxffffffcd,cd就是低八为。一个byte占8位。

已采纳回答 / qq_Mr低調_3
c是你当前读取到字节的位置

已采纳回答 / Jaylin_
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。比如要读一个test.txt文件Windows下要这么写:File file1 = new File ("C:\tmp\test.txt");Linux下则是这样的:File file2 = new File ("/tmp/test.txt");如果要考虑跨平台,则最好是这么写:File myFile = new File("C:" + File...

已采纳回答 / kkskylin
null是内存空间也没有开吧.!=null可以是0..  .0表示数组没有数据.大于0就不会是空的吧!~

已采纳回答 / 慕粉3161473
int bytes = in.read(buf,0,buf.length);这个返回值,是你读到的实际个数,例如:你buf new的事1024,但是你文件中只要100个,bytes就= 100;如果文件超过1024字节,一次读会返回1024,第二次读的时候,指针从1024再开始读,每次1024个字节读,知道读完,所以bytes 返回值,要么是1024,要么是最后一次读到数据,但是不足1024,返回实际值,再读一次 就是EOF(结尾),返回-1

已采纳回答 / Valar丶Dohaeris
实际上writeUTF("中国");  是8个字节,看下API。<...图片...>

已采纳回答 / suyanggg
package com.cuit.suyang;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Initial_ { public static void main(String...

已采纳回答 / 想想都醉了啊
简单的说就是带缓冲的,起一个优化的作用
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消