io流操作

userdao

package dao;

import eneity.UserEntity;
import java.io.*;
import java.util.Scanner;
import java.util.Properties;

//UserDao:定义操作持久性数据的类,用于读写数据库或文档
public class UserDao {
    //定义File对象
    File file = new File("D:/Code/Java Project/IO/user.txt");
    Scanner sc = new Scanner(System.in);
    Properties properties = new Properties();


    //用户注册
    public void userRegister(UserEntity user) {
        //初始化输出流
        BufferedWriter bfw = null;

        //用户信息 不能为空
        if (user != null) {
            try {
                //实例化输出流
                bfw = new BufferedWriter(new FileWriter(file, true));
                //写入数据
                bfw.write(user.getName() + "=>" + user.getPassword());
                //创建新行
                bfw.newLine();
                //刷新数据
                bfw.flush();
                System.out.println("注册成功");
            } catch (IOException e) {
                //注册失败信息
                System.out.println("注册失败:" + e.getMessage());
            } finally {
                try {
                    bfw.close();
                } catch (IOException e) {
                    System.out.println("关闭BufferedWriter输出流异常:" + e.getMessage());
                }
            }
        } else {
            //注册失败信息
            System.out.println("注册失败:用户信息不能为空");
        }
    }


    //用户登录
    public boolean userLogin(String username, String password) {
        boolean result = false;
        String str = null;
        BufferedReader bfr = null;

        if (!username.equals("") && !password.equals("")) {
            try {
                bfr = new BufferedReader(new FileReader(file));

                //循环判断
                while ((str = bfr.readLine()) != null) {
                    String[] data = str.split("=>");
                    if (data[0].equals(username) && data[1].equals(password)) {
                        result = true;
                        break;
                    }
                }
            } catch (IOException e) {
                System.out.println("登录异常:" + e.getMessage());
            } finally {
                try {
                    bfr.close();
                } catch (IOException e) {
                    System.out.println("关闭BufferedReader输入流异常:" + e.getMessage());
                }
            }
        } else {
            System.out.println("用户名和密码不能为空");
        }
        return result;
    }


    //修改密码
    public void userChange(String username, String password) throws IOException {

        BufferedWriter bfw = null;
        boolean flag = false;


        flag = userLogin(username, password);

        if (flag) {
            System.out.println("登陆成功,请输入新密码:");
            String newPassword = sc.nextLine();
            bfw = new BufferedWriter(new FileWriter(file));
            bfw.write(username);
            bfw.newLine();
            bfw.write(newPassword);
            bfw.flush();
            bfw.close();
        } else {
            System.out.println("登陆失败");
        }
    }

    //账户注销
    public void userDelete() throws IOException {
        try {
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("");
            fileWriter.flush();
            fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

userServlet

package servlet;
import dao.UserDao;
import eneity.UserEntity;

import java.io.IOException;
import java.util.Scanner;

//UserServlet:定义用户操作,获取用户输入、选择等
//作为方法入口,进行调用和交互操作
public class UserServlet {

    public static void main(String[] args) throws IOException {
        //创建一个用户操作类
        UserServlet userservlet = new UserServlet();

        while (true) {
            System.out.println("欢迎来到本系统!");
            System.out.println("1.用户注册");
            System.out.println("2.用户登录");
            System.out.println("3.修改密码");
            System.out.println("4.账户注销");
            Scanner sc = new Scanner(System.in);
            String choice = sc.nextLine();

            //利用switch循环对选择进行操作
            switch (choice) {
                case "1":
                    System.out.println("欢迎来到注册界面!");
                    userservlet.register();
                    break;

                case "2":
                    System.out.println("欢迎来到登录界面!");
                    userservlet.login();
                    break;
                case "3":
                    System.out.println("欢迎来到修改密码界面!");
                    userservlet.change();
                    break;
                case "4":
                    System.out.println("欢迎来到账户注销界面!");
                    userservlet.delete();
                    break;
                case "5":
                default:
                    //对于3或者其他数字的选择,都直接退出系统
                    System.exit(0);
                    break;
            }
        }
    }

    String username = null;
    String password = null;
    UserDao userDao = new UserDao();
    Scanner sc = new Scanner(System.in);


    //用户注册
    public void register() {
        System.out.println("请输入用户名");
        username = sc.nextLine();
        System.out.println("请输入密码");
        password = sc.nextLine();

        UserEntity user = new UserEntity(username, password);
        userDao.userRegister(user);
    }


    //用户登录
    public void login() {
        boolean result = false;

        System.out.println("请输入用户名");
        username = sc.nextLine();
        System.out.println("请输入密码");
        password = sc.nextLine();

        //进行用户名、密码校验
        result = userDao.userLogin(username, password);

        if (result) {
            System.out.println("登陆成功");
        } else {
            System.out.println("登陆失败");
        }
    }


    //修改密码
    public void change() throws IOException {

        System.out.println("请输入用户名");
        username = sc.nextLine();
        System.out.println("请输入密码");
        password = sc.nextLine();

        userDao.userChange(username, password);
    }


    //账户注销
    public void delete() throws IOException {
        userDao.userDelete();
        System.out.println("注销成功!");
    }
}

UserEntity

package eneity;

public class UserEntity {
    private String username;
    private String password;

    //构造方法
    public UserEntity() {
        super();
    }

    public UserEntity(String username, String password) {
        super();
        this.username = username;
        this.password = password;
    }

    //成员方法
    public String getName() {
        return username;
    }

    public void setName(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

io

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoodEnough_YQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值