使用.dat
_ Node
_ ObjectOutputStream
_从Node[]
我之前使用的。
如果我能解决其中一个问题,我的问题将得到解决:
- 将读取
Object
转换为对象类型Node[]
,或 - 像这样读取文件
readNode[]();
我不知道这个的正式名称,所以我很难找到答案。
使用.dat
_ Node
_ ObjectOutputStream
_从Node[]
我之前使用的。
如果我能解决其中一个问题,我的问题将得到解决:
Object
转换为对象类型Node[]
,或readNode[]();
我不知道这个的正式名称,所以我很难找到答案。
从 ObjectInputStream 返回的 Object 将具有与您最初将其写入文件时相同的类型。
但是,您必须在运行时强制转换它,因为编译器无法知道它将是什么类型。
Object obj = stream.readObject();
Node[] nodes = (Node[]) obj;
如果你的格式很灵活,以至于你不知道究竟会发生什么,你可以先使用 instanceof 来检查各种可能性。
if (obj instanceof Node[]){
// do something
}
else if (obj instanceof String) {
// do something
}
else {
throw new IOException("unexpected object in data stream "+ obj);
}