0
我已經使用這個代碼寫的10個記錄/上一個序列化的文件對象,現在我要修改/編輯書面上的文件保持其他只記錄第六屆記錄/對象/對象相同。請告訴我該怎麼做?EDITTING一個序列化的文件
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Scanner;
public class Write {
public static void main(String arg[]) throws FileNotFoundException, IOException {
ObjectOutputStream to = new ObjectOutputStream(new FileOutputStream("file.cer"));
Scanner out = new Scanner(System.in);
String name;
Double age;
System.out.println("write NAME and AGE otherwise ctrl+z to teminate.");
while(out.hasNext()) {
name=out.nextLine();
age=out.nextDouble();
to.writeObject(new Data(name,age));
System.out.println("write NAME and AGE otherwise ctrl+z to teminate.");
}
out.close();
System.out.println("Ended");
}
}
class Data implements Serializable {
String name;
Double age;
public Data(String name, Double age) {
this.name=name;
this.age=age;
}
}
您必須加載所有對象並重寫它們 – MadProgrammer
我可能會指出,儘管在這個階段它可能是一個靜音點,但對象序列化旨在用於對象的短期存儲,通常用於通過電線傳輸或用於RPC目的。這不是一個合適的長期存儲機制。您可以考慮使用JAXB(作爲示例) – MadProgrammer