gpt4 book ai didi

Java读取/写入多个对象到文件

转载 作者:行者123 更新时间:2023-11-30 11:17:44 25 4
gpt4 key购买 nike

我正在尝试学习如何使用 Steam,但我似乎无法理解。我想要做的是将几个单独的对象添加到一个文件中,然后一次检索它们。当我尝试检索它们时,我只得到“最后”插入的对象。现在我正在尝试弄清楚如何打印对象,但后来我想将它们导入到 ArrayList 中。这是我的代码:

public class ExpenseDB {
private final static File DB = new File("C:\\Expense2s3.dat");

public static void addExpense(Expense ex) throws AddException {
try {
ObjectOutputStream out;
out = new ObjectOutputStream(new FileOutputStream(DB));
out.writeObject(ex);
out.close();
System.out.println("Added "+ex);
} catch (IOException e) {
throw new AddException();
}
}


@SuppressWarnings("deprecation")
public static void getAllExpenses() {
if (DB.length() == 0) return;
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(DB));
try {
Expense exp=(Expense)in.readObject();
System.out.println(exp);
in.close();
} catch (ClassNotFoundException e) {}
} catch (IOException e) {
System.err.println("Error");
}
}

最佳答案

当你打开一个文件然后写入它时,它会覆盖它的内容。而是使用 new FileOutputStream(DB,true)追加到文件末尾

关于Java读取/写入多个对象到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24223400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com