Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ObjectOutputStream自动覆盖对象_Java_Object - Fatal编程技术网

Java 使用ObjectOutputStream自动覆盖对象

Java 使用ObjectOutputStream自动覆盖对象,java,object,Java,Object,当我保存第二个对象时,第一个对象从文件中删除,我如何解决这个问题 public void guardar(){ try { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("Datos.obj")); Object O[] = new Object[5]; O[0] = getRfc(); O[1] = getNom

当我保存第二个对象时,第一个对象从文件中删除,我如何解决这个问题

public void guardar(){ 
    try {
        ObjectOutputStream oos = new ObjectOutputStream(new 
        FileOutputStream("Datos.obj"));
        Object O[] = new Object[5];
        O[0] = getRfc();
        O[1] = getNombre();
        O[2] = getEdad();
        O[3] = getPuesto();
        O[4] = getSalario();
        oos.writeObject(O);
        oos.flush();
        oos.close();
    } catch (FileNotFoundException ex) {
        Logger.getLogger(datos.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(datos.class.getName()).log(Level.SEVERE, null, ex);
    }   
}

如果有人能帮助我,请提前感谢。

您需要使用第一个对象数组读取文件。然后创建对象数组的
java.util.ArrayList
,首先将第一个对象数组保存到其中,然后将第二个对象保存到其中,然后序列化包含这两个对象数组的列表

如果要序列化第三个对象,则必须再次从文件中读取
java.util.ArrayList
,并将第三个对象附加到该文件中,依此类推

请注意:最好先将第一个对象数组保存到
java.util.ArrayList
中,即使只有一个对象数组