已采纳回答 / 慕粉3291149
因为 你是 Bar2 bar2 = new Bar2(); bar2 = (Bar2)ois.readObject();但是老师写的是 Bar2 bar2 = (Bar2)ois.readObject(); 这里要注意的是 老师并没有去new一个Bar2对象而你却是先new出来的 肯定会调用父类的构造函数
2016-05-07
已采纳回答 / 圊涩的苹果
跟直接输出字符数组的结果是不一样的。至于为什么要转换成字符串输出个人认为是因为是如果是你单单拿字符数组来输出的时候由于字符数据之间没有明显的分隔的界限,导致输出的字符是不一致的。而c是返回的是读到的字符的个数,用String来转换成所读到的字符来输出就可以很明显的分隔出来。以上只是个人愚见,有些地方说的可能不太清楚,欢迎来指正与讨论
2016-05-05
已采纳回答 / 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...
2016-04-27
已采纳回答 / 慕粉3161473
int bytes = in.read(buf,0,buf.length);这个返回值,是你读到的实际个数,例如:你buf new的事1024,但是你文件中只要100个,bytes就= 100;如果文件超过1024字节,一次读会返回1024,第二次读的时候,指针从1024再开始读,每次1024个字节读,知道读完,所以bytes 返回值,要么是1024,要么是最后一次读到数据,但是不足1024,返回实际值,再读一次 就是EOF(结尾),返回-1
2016-04-20
已采纳回答 / 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...
2016-04-11