Java IO 序列化流实现注册(Register)与登录(Login)
一、 准备User 类
属性 username 、password,属性进行私有化(private)封装方法:无参构造方法和有参构造方法,Getter and Setter 方法User类必须实现 Serializable 接口Serializable 接口: 是用于启动对象的序列化功能,可以强制让指定类具备序列化功能,该接口中没有成员,是一个标记接口,这个标记接口用于给序列化类提供UIDUser.java 源码如下:import java.io.Serializable; /** * @author HuiSoul */ public class User implements Serializable { private String username; private int password; public User() { } public User(String username, int password) { this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getPassword() { return password; } public void setPassword(int password) { this.password = password; } }
12345678910111213141516171819202122232425262728293031323334二、注册与登录的具体实现
先将User类序列化后保存到本地文件中,再反序列化User类的序列化文件,得到User类对象,调用get() 方法获得对应属性的值,使用该值和用户输入的值进行相应的逻辑判断,模拟各种登录成功和登录失败的场景RegisterAndLogin.java具体实现如下:public class RegisterAndLogin { public static void main(String[] args) throws IOException, ClassNotFoundException { //Register Scanner scanner = new Scanner(System.in); /* 用户手动注册 System.out.print("请输入用户名:"); String inputUsername = scanner.next(); System.out.print("请输入密码:"); int inputPassword = scanner.nextInt(); System.out.print("请再次输入密码:"); int inputPassword2 = scanner.nextInt(); if(inputPassword == inputPassword2){ User user = new User(inputUsername,inputPassword2); ... }*/ //准备数据 注册的用户名和密码数据以写死 User user1 = new User("huisoul",123456); // 关联本地路径 FileOutputStream fileOutputStream = new FileOutputStream("D:/111.txt"); // 修饰器模式 ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); // 将对象放入序列化流中进行序列化操作并刷新文件 objectOutputStream.writeObject(user1); objectOutputStream.flush(); //关流(释放资源) objectOutputStream.close(); fileOutputStream.close(); // Login User user2 = null; //关联本地序列化文件 FileInputStream fileInputStream = new FileInputStream("D:/111.txt"); // 修饰器模式 ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); // 通过方法反序列化保存User对象的本地文件 user2 = (User) objectInputStream.readObject(); // 用户输入 System.out.print("请输入用户名:"); String username = scanner.next(); System.out.print("请输入用户密码:"); int password = scanner.nextInt(); // 登录逻辑判断 if(username.equals(user2.getUsername()) && password == user2.getPassword()){ System.out.println("Login Succeed"); }else if(username.equals(user2.getUsername()) && password != user2.getPassword()){ System.out.println("用户名正确,请检查用户密码"); } else if(!(username.equals(user2.getUsername())) && password == user2.getPassword()){ System.out.println("用户密码正确,请检查用户名"); }else { System.out.println("请检查用户名和用户密码"); } //关流(释放资源) objectInputStream.close(); fileInputStream.close(); } }
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869相关知识
Java实现鲜花预定系统:Oracle数据库与Spring Boot框架整合实战
(java毕业设计+b/s架构)小太阳鲜花网站的设计与实现(附源码+论文)
网上购物系统实现.doc
基于springboot模式鲜花售卖商城花店网站的设计与实现 nqs65限时秒杀
基于java+SpringBoot+Vue的洗衣店订单管理系统设计与实现
[花店]网上花店微信小程序的设计与实现
基于SpringBoot+Vue“花开富贵”花园管理系统设计和实现(源码+LW+部署讲解)
基于SpringBoot+Vue网上花卉购物系统的设计与实现
PrintWriter打印流示例
基于java(ssm)线上花店管理系统设计与实现(源码+lw+部署文档+讲解等)
网址: Java IO 序列化流实现注册(Register)与登录(Login) https://www.huajiangbk.com/newsview948786.html
| 上一篇: spring+springmvc |
下一篇: 建站操作——WordPress添 |
推荐分享
- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039
