zoukankan      html  css  js  c++  java
  • 永久储存信息(已完善)

    package cn.vip;
    
    import java.io.Serializable;
    
    public class Users implements Serializable{
        private String name;
        private int age;
        private String gender;
        private String code;
        public Users() {
            super();
        }
        public Users(String name, int age, String gender, String code) {
            super();
            this.name = name;
            this.age = age;
            this.gender = gender;
            this.code = code;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getGender() {
            return gender;
        }
        public void setGender(String gender) {
            this.gender = gender;
        }
        public String getCode() {
            return code;
        }
        public void setCode(String code) {
            this.code = code;
        }
        
        
    }
    用户类
    package cn.vip;
    import java.io.*;
    import java.util.*;
    public class BackedGround {
        static Scanner sc = new Scanner(System.in);
        static Map<String, Users>map= new HashMap <String, Users>();
        //初始化信息
        static {
            Users u9 = new Users("nike1",25,"男","123456");
            Users u1 = new Users("zt1", 20, "男", "123456");
            Users u2 = new Users("zt2", 21, "男", "123456");
            Users u3 = new Users("zt3", 22, "男", "123456");
            Users u4 = new Users("zt4", 23, "男", "123456");
            Users u5 = new Users("zt5", 24, "男", "123456");
            Users u6 = new Users("zt6", 25, "男", "123456");
            Users u7 = new Users("zt7", 26, "男", "123456");
            Users u8 = new Users("zt8", 27, "男", "123456");
            map.put(u1.getName(), u1);
            map.put(u2.getName(), u2);
            map.put(u3.getName(), u1);
            map.put(u4.getName(), u4);
            map.put(u5.getName(), u5);
            map.put(u6.getName(), u6);
            map.put(u7.getName(), u7);
            map.put(u8.getName(), u8);
            map.put(u9.getName(), u9);
        }
        //调用保存的方法来把用户信息存到电脑
        public  void save(Users users) throws IOException, IOException {
            map.put(users.getName(), users);
            //序列化
            FileOutputStream fos = new FileOutputStream("F:\javaclasszjl\abc");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(map);
            oos.flush();
            oos.close();
            fos.close();
        }
        //用户登录
        public void Denglu() throws IOException, ClassNotFoundException {
            System.out.println("******************************************");
            System.out.println("请输入用户名:");
            String name = sc.next();
            System.out.println("请输入用户密码:");
            String code = sc.next();
            //反序列集合
            FileInputStream fis = new FileInputStream("F:\javaclasszjl\abc");
            ObjectInputStream ois = new ObjectInputStream(fis);
            @SuppressWarnings("unchecked")
            Map<String, Users>map = (Map<String,Users>)ois.readObject();
            if(map.get(name)!=null) {
                if(code.equals(map.get(name).getCode())) {
                    System.out.println("登录成功,信息如下:");
                    System.out.println(String.valueOf(map.get(name)));
                }else {
                    System.out.println("密码错误");
                }
            }else {
                System.out.println("账号不存在");
            }
            ois.close();
            fis.close();
        }
        public void zhuce() throws IOException {
            System.out.println("请输入用户名:");
            String name = sc.next();
            System.out.println("请输入年龄:");
            int age = sc.nextInt();
            System.out.println("请输入性别:");
            String gender = sc.next();
            System.out.println("请输入密码:");
            String code = sc.next();
            Users un = new Users(name,age,gender,code);
            map.put(name, un);
            System.out.println("注册成功");
            save(un);
        }
        
    }
    后台类
    package cn.vip;
    
    import java.io.IOException;
    
    public class Test {
        public static void main(String[] args) throws IOException, ClassNotFoundException {
            BackedGround bg = new BackedGround();
            bg.zhuce();
            bg.Denglu();
        }
    }
    测试类

    上次的问题不能正确显示输入信息 输出ASCII码

    在Users分装类加入toString 解决

    分装一般这几个要写:有参构造、无参构造、set/get方法、toString重写方法

  • 相关阅读:
    springboot整合swagger2
    关于lombok
    RSA加密和AES加密
    守护进程监控tomcat并自启
    java按照目录结构压缩文件夹以及文件夹内内容
    wxx
    附加作业
    软工作业3
    软工作业2
    软工作业一 201621123070陈伟杰
  • 原文地址:https://www.cnblogs.com/lev1/p/11299645.html
Copyright © 2011-2022 走看看