1
I have a file Produtos.ser
where several objects of the type were recorded Objeto
.
In the code method below, I wish to retrieve all objects from the file and store in an Arraylist list.
However, it adds in Arraylist only the first object. Some help?
public ArrayList<Produto> recuperarProdutos(){
ArrayList<Produto> produtos = new ArrayList<>();
Produto p = new Produto();
ObjectInputStream leitorObj = null;
FileInputStream leitorArquivo = null;
try {
leitorArquivo = new FileInputStream("files\\Produtos.ser");
leitorObj = new ObjectInputStream(leitorArquivo);
p = (Produto)leitorObj.readObject();
produtos.add(p);
} catch(EOFException e) {
try {
leitorArquivo.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
} finally {
try {
if (leitorArquivo != null) leitorArquivo.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
return produtos;
}
There is only one item in the list
produtos
because it gives only oneadd
in it.– C. E. Gesser