将重复对象数据写入二进制文件

时间:2015-07-08 15:25:47

标签: java

我会尽量保持简单。我有一个程序,可以为表添加值。单击一个按钮时,它会从表中读取值,创建一个对象并写入二进制文件(.ser)。

当我通过列表循环(例如,如果我向表中添加三个对象值,则为3次),然后我创建一个对象并将其写入文件。但是,当我读取同一个文件时,它只读取相同的对象(如果我向表中添加了3个对象,则为3次)。它为什么这样做?我是Java新手,任何帮助都会非常感谢

对象结构

public class Empleados implements Serializable {

public int NoEmpleado;
public String ENombre;
public String EApellido;
public String EGrupo;
.
.
Setters and getters 
} 

当我单击按钮写入二进制文件(从先前填充数据的表中获取数据)时,代码运行。所有这一切完成后我也在关闭文件。

            try // open file
            {
                outputS = new ObjectOutputStream(new FileOutputStream( "empleados.ser" ) );
            } // end try
            catch ( IOException ioException )
            {
                System.err.println( "Error opening file." );
            } // end catch

            for (int num = 0; num < tableModel2.getRowCount();num++)
            {                                   
                try
                {

                empleado1.setNumero(Integer.parseInt(tableModel2.getValueAt(num, 0).toString()));
                empleado1.setNombre(tableModel2.getValueAt(num, 1).toString());
                empleado1.setApellido(tableModel2.getValueAt(num, 2).toString());
                empleado1.setGrupo(tableModel2.getValueAt(num, 3).toString());

                int n = empleado1.getNumero();

                if (empleado1.getNumero() > 0)
                {                       
                    outputS.writeObject(empleado1);                                                 
                }
                else
                {
                    System.out.println("Numero debe ser mayor a 0.");
                }
                }
                .    
                .
                fallow by rest of catch stataments  

0 个答案:

没有答案