이 코드를 사용하여 직렬화 된 파일에 10 개의 레코드/개체를 쓰고 이제 다른 레코드/개체를 유지하면서 파일에 쓰여진 여섯 번째 레코드/개체 만 수정하거나 편집하려고합니다. 내가 그걸 어떻게 할 수 있는지 말해줘 ???직렬화 된 파일 편집
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 대신 (예를 들어) JAXB 사용을 고려해보십시오. – MadProgrammer