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