public List<Users> getAllUsers() { //声明对象流对象 ObjectInputStream ois=null; File file=new File("user.bat"); List<Users> list=null; try{ //创建对象流对象 ois=new ObjectInputStream(new FileInputStream("user.bat")); //读对象 list=(List<Users>)ois.readObject(); }catch (Exception e){ e.printStackTrace(); }finally { try { ois.close(); }catch (IOException e){ e.printStackTrace(); } } return list; } public boolean login(Users users) { Boolean flag=false;//设置标记 List<Users> list=getAllUsers(); //增强for循环insert for (Users users1 : list) { if(users1.getUserName().equals(users.getUserName())&&users1.getPassword().equals(users.getPassword())){ flag=true; break; } } return flag; } /** * 将所有的用户存储在集合中 */ private void saveList(List<Users> list){ //声明对象流对象 ObjectOutputStream oos=null; try{ //创建对象流对象 oos=new ObjectOutputStream(new FileOutputStream("user.bat")); //写对象 oos.writeObject(list); }catch (Exception e){ e.printStackTrace(); }finally { try { oos.close(); }catch (Exception e){ e.printStackTrace(); } } }
时间: 2024-04-14 08:32:03 浏览: 90
这段代码是一个简单的用户管理系统,其中包含了几个方法:getAllUsers、login和saveList。以下是对每个方法的解释:
1. getAllUsers方法:该方法从文件中读取存储的用户列表,并返回一个List<Users>对象。具体步骤如下:
- 创建一个ObjectInputStream对象ois,用于读取文件中的对象流。
- 创建一个File对象file,指定要读取的文件路径。
- 创建一个List<Users>对象list,用于存储读取到的用户列表。
- 使用ois.readObject()方法将读取到的对象流转换为List<Users>类型,并赋值给list。
- 捕获可能抛出的异常,并打印异常信息。
- 最后,关闭ois对象并返回list。
2. login方法:该方法用于验证用户登录信息是否正确。具体步骤如下:
- 创建一个List<Users>对象list,调用getAllUsers()方法获取所有用户列表。
- 使用增强for循环遍历list中的每个用户对象users1。
- 如果users1的用户名和密码与传入的users对象匹配,则将flag设为true,并跳出循环。
- 返回flag值,表示用户登录是否成功。
3. saveList方法:该方法用于将用户列表存储到文件中。具体步骤如下:
- 创建一个ObjectOutputStream对象oos,用于写入对象流到文件。
- 调用oos.writeObject(list)方法,将传入的List<Users>对象list写入文件。
- 捕获可能抛出的异常,并打印异常信息。
- 最后,关闭oos对象。
请注意,这段代码中使用了文件名为"user.bat"的文件进行读写操作。如果文件不存在,将会抛出异常。你可以根据自己的需求修改文件名或路径。
阅读全文