我在Java(动物收容所)中创建一个简单的应用程序,它允许您将动物添加到列表中,编辑空闲位置,在空闲空间结束时发送电子邮件,并在程序关闭和加载后保存所有更改它被打开了。
然而,动物列表(ArrayList)保存在一个文件中,第二个中的空闲位置列表,第三个中的电子邮件地址(字符串)等等... 我曾尝试将需要保存的对象放在一个集合(ArrayList)中,但此文件无法正确加载。
如何在txt文件中保存和读取不同类型的任何想法?
我的导入/导出类示例:
void autoSave() {
try {
FileOutputStream fout = new FileOutputStream(path);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(AddAnimalScene.listOfAnimals);
oos.close();
FileOutputStream fout1 = new FileOutputStream(path1);
ObjectOutputStream oos1 = new ObjectOutputStream(fout1);
oos1.writeObject(EditFreeSpaceScene.places);
oos1.close();
} catch (IOException e) {
e.printStackTrace();
}
}
void autoLoad() {
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(path));
ArrayList<Animal> LoadedAnimalList = (ArrayList<Animal>) in.readObject();
in.close();
AddAnimalScene.listOfAnimals = LoadedAnimalList;
ObjectInputStream in1 = new ObjectInputStream(new FileInputStream(path1));
Integer LoadedPlaces = (Integer) in1.readObject();
in1.close();
EditFreeSpaceScene.places = LoadedPlaces;
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
提示:始终阅读Javadoc,特别是作为初学者。一开始可能会遇到挑战,但以后会有所回报。在我看来,查阅官方文档始终是清除任何问题的正确方法。
只有支持java.io.Serializable接口的对象才能写入流。
您的Section#thumbnails .thumb a[title="Yorokobu"]{
pointer-events: none !important;
display: block !important;
cursor: default;
}
课程应实施Serializable
界面。
另一方面,如果您想明确指定一个字段不被序列化,您可以使用Animal
修饰符。