编辑(为避免混淆):
null
已写入文件“abc”和“efg”。
运行以下代码后,文件“abc”的内容发生了变化
无效的
,我在每次执行中都会得到EOFException:
ObjIStream = new ObjectInputStream(new FileInputStream("abc"));
M[][] objs = (M[][]) ObjIStream.readObject();
FS.objs = objs;
ObjIStream.close();
在这里
FS.objs
是类型为的类FS的静态成员
M[][]
类型
另一方面,这一个对文件没有影响,在执行任何次数后,我都不会得到任何异常:
ObjIStream = new ObjectInputStream(new FileInputStream("abc"));
M[][] objs = (M[][]) ObjIStream.readObject();
ObjIStream.close();
编辑:我刚刚发现了FS类中存在的问题:
static{
try {
ObjOStream = new ObjectOutputStream(new FileOutputStream("abc"));
ObjOStream.close();
ObjOStream = new java.io.ObjectOutputStream(new java.io.FileOutputStream("efg"));
ObjOStream.close();
}
catch (IOException ex) { }
}
这到底有什么困扰?