我一直试图显示序列化文件中的所有数据,但我不知道该怎么做。我只能显示最后的数据。如何在最后一个之前显示所有数据?
这是我一直在使用的方法:
public void lecturaRegistro() throws ClassNotFoundException {
try {
while (true) {
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fis);
Usuario usu = (Usuario) ois.readObject();
System.out.println("Login: " + usu.getLogin());
System.out.println("Clave: " + usu.getClave());
System.out.println("Tipo: " + usu.getTipoU());
ois.close();
break;
}
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
我做错了什么?
提前致谢。
答案 0 :(得分:0)
像这样更改你的代码
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fis);
while (true) {
Usuario usu = (Usuario) ois.readObject();
if (usu == null) {
break;
} else {
System.out.println("Login: " + usu.getLogin());
System.out.println("Clave: " + usu.getClave());
System.out.println("Tipo: " + usu.getTipoU());
}
}
ois.close();
您只读取一个对象..您需要读取整个文件以显示所有对象