【发布时间】:2017-07-17 05:44:21
【问题描述】:
我是java新手,这只是我的学习代码。我有问题。我已将人员数组发送到文件中,
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
for (Person person : persons) {
oos.writeObject(person);
}
} catch (IOException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
现在我只想让两个顶级人员返回新的人员类数组(愚蠢,但我只想学习如何处理文件)并且实际上不知道如何处理。 我试过这样的东西
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser")))
{
Person[] humans = new Person[2];
humans[0] = new (Person) ois.readObject();
humans[1] = new (Person) ois.readObject();
}
catch (IOException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
但它不起作用。有人可以帮忙吗?我认为这只是一些小错误。
【问题讨论】:
-
准确定义“它不起作用”。你期望会发生什么,以及会发生什么。如果它引发异常,请发布其堆栈跟踪。如果您有编译错误,请发布完整且准确的错误消息(并阅读)。提示:
new用于调用构造函数。 -
我什至无法编译它,它说 预期
-
哦,我明白了。它现在可以在没有“新”的情况下工作。我想我必须在从文件插入之前以某种方式创建对象。
-
我建议你序列化
persions集合。 -
我建议,如果您决定稍后再返回另一个问题,请查看我们的SO Question Checklist 以帮助您提出一个好问题,从而得到一个好的答案。
标签: java file io inputstream