我有以下方法:
public static void writeContestantsToFile(ArrayList<Contestant> contestants) throws IOException {
FileOutputStream fos = new FileOutputStream("minos.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(contestants);
oos.flush();
oos.close();
}
但是我想知道我是否可以用另一个arraylist再次写入文件minos.dat?例如,有另一种方法:
public static void writeContestantsToFile(ArrayList<Times> times) throws IOException {
FileOutputStream fos = new FileOutputStream("minos.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(times);
oos.flush();
oos.close();
}
我是否能够同时检索arraylist和参赛者?或者我是否需要写入单独的文件?
答案 0 :(得分:2)
你可以,但是如果你不想覆盖文件的内容,但只是追加,那就打开它:
FileOutputStream fos = new FileOutputStream("minos.dat", true);
(使用this constructor)
答案 1 :(得分:1)
如果您在一个线程中按顺序表示,则使用@MByD解决方案。它叫做追加。如果这是多线程的,那么您将需要阻止和同步。
答案 2 :(得分:0)
不是对象流的情况。如果没有特殊措施,则无法使用对象输出流附加到文件。你必须:
ObjectOutputStream