反序列化 遍历全部的对象

我们知道,我们是通过国通readObject();读取被保存的对象的。我只需要循环读取就可以输出全部的对象了。如下面的代码片段 ObjectInputStream ois; try { ois=new ObjectInputStream(new FileInputStream("D:/Program Files/eclipse/workspace/file/seriailzable.txt")); teacher teach=(teacher)ois.readObject(); while(teach!=null){ System.out.println("老师姓名是"+teach.getName()); System.out.println("密码"+teach.getPassword()); System.out.println("同学是"+teach.getStuName()); teach=(teacher)ois.readObject(); }catch (EOFException e) { System.out.println("对象遍历完成"); //e.printStackTrace(); } 我们需要注意的是,这里会抛出一个EOFException异常,表示文件读取到结尾,不可去读的空异常。需要添加到catch块中。 本例中的密码是不可被序列化的,不想被序列化,我们可以使用关键字transient,如本例中 private transient String password 本例打印结果为 老师姓名是张老师 密码null 同学是王小芳 老师姓名是王老师 密码null 同学是王小芳 对象遍历完成

爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img