public void update(User user) {
//功能,将修改后的文件保存在硬盘之中
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
_** ois = new ObjectInputStream(new FileInputStream(PathConstants.USER_PATH));**_
List<User> list =(List<User>)ois.readObject();
if(list != null){
User originUser = list.stream().filter(u -> u.getId() == user.getId()).findFirst().get();
originUser.setName(user.getName());
originUser.setMoney(user.getMoney());
_ **oos = new ObjectOutputStream(new FileOutputStream(PathConstants.USER_PATH));**_
oos.writeObject(list);
oos.flush();
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
if(ois != null){
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(oos != null){
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
输出流和输入流在一起new对象时,输入流在使用readObejct()方法时会读不到文件,报Eofexception错误,把ObjectOutputStream和ObjectInputStreamt分开new对象,像现在这样,就不会报错了,大佬求解,这是为啥?
什么叫一起new 对象