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