0
首先,變量是葡萄牙語的,但不影響代碼的理解。如何讀取幾個對象FileInputStream?
這裏是我的代碼:
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;
}
這個代碼將增加在我的ArrayList只是第Produto對象有我的文件。這不是我想要的,是否有Java中的EOF做循環並讀取每個對象?