Lectura de archivo de objetos
Tengo un formulario mediante el cual cargo en un archivo video. Obj los atributos de un objeto, mi código:
public void escribir() throws FileNotFoundException, IOException
{
FileOutputStream fs = new FileOutputStream("videos.obj",true);
ObjectOutputStream os = new ObjectOutputStream(fs);
if(Integer.parseInt(jTextField1.getText()) > 0)
{
os.writeObject(new Video(Integer.parseInt(jTextField1.getText()),jTextField2.getText(),jTextField3.getText(),Double.parseDouble(jTextField4.getText())));
JOptionPane.showMessageDialog(null, "Video cargado con éxito", "Carga exitosa", JOptionPane.INFORMATION_MESSAGE);
os.close();
}
else
{
JOptionPane.showMessageDialog(null, "El número de cuenta debe ser mayor que cero");
}
}//fin método escritura
Esto me genera el archivo videos. Obj con todas las películas instanciadas mediante el formulario de carga. Ahora bien, mi problema radica al querer leerlo, ya que solamente me da en un jTextArea el primero de los objetos que instancie. No hayo la forma de como recorrer el archivo. Mi código de lectura es:
public void leer() throws FileNotFoundException, IOException, ClassNotFoundException
{
String a = new String();
FileInputStream fs = new FileInputStream("videos.obj");
ObjectInputStream os = new ObjectInputStream(fs);
Video p = (Video) os.readObject();
while(p != null)
{
a = a + String.valueOf(p.obtenerNro() + "\t" + p.obtenerNombre() + "\t" + p.obtenerCategoria() + "\t" + p.obtenerStock());
jTextArea1.setText(a);
p = (Personas) os.readObject();
}
os.close();
}