用户类:
package cn.cc.day19.home;
public class User {
/**
* @author CC 用户类
*/
public User() {
}
public User(String userId, String pwd, String name) {
this.userId = userId;//账号
this.pwd = pwd;//密码
this.name = name;//昵称
}
private String userId;// 账号
private String pwd;// 密码
private String name;// 昵称
@Override
public String toString() {
return this.userId+","+this.pwd+","+this.name;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
用户管理类:
package cn.cc.day19.home;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
/**
* @author CC
* 注册和登陆功能
*/
public class UserManager {
Scanner input = new Scanner(System.in);
HashMap<String, User> u = new HashMap<String, User>();
// 注册:
public void register(String filePath) {
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter(filePath,true);
bw = new BufferedWriter(fw);
System.out.println("请输入注册账号:");
String userId = input.next();
System.out.println("请输入密码:");
String pwd = input.next();
System.out.println("请输入昵称:");
String name = input.next();
User user = new User();
user.setName(name);
user.setPwd(pwd);
user.setUserId(userId);
//遍历集合
Set<String> allkeys = u.keySet();
Iterator<String> it = allkeys.iterator();
boolean flag = false;
while(it.hasNext()) {
String key = it.next();
User us = u.get(key);
if (us.getUserId().equals(user.getUserId())) {
System.out.println("账号已经被注册!");
System.exit(0);;
}
}
if (flag == false) {
System.out.println("注册成功");
}
bw.newLine();// 开辟新的一行然后输出
bw.write(user.toString());
bw.flush();
this.putM(filePath,user);//存入集合
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if (bw!=null) {
bw.close();
}
if (fw!=null) {
fw.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
// 登陆:
public void login(String filePath) {
System.out.println("请输入登陆账号:");
String userId = input.next();
System.out.println("请输入登陆密码:");
String pwd = input.next();
//判断
User user = new User();
user.setUserId(userId);
user.setPwd(pwd);
//遍历集合
Set<String> allkeys = u.keySet();
Iterator<String> it = allkeys.iterator();
boolean flag = false;
while(it.hasNext()) {
String key = it.next();
User us = u.get(key);
if (us.getUserId().equals(user.getUserId()) && us.getPwd().equals(user.getPwd())) {
System.out.println("登陆成功!");
flag = true;
}
}
if (flag == false) {
System.out.println("账号或密码不正确");
}
}
//存入集合
public void putM(String filePath,User user) {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(filePath);
br = new BufferedReader(fr);
String str = br.readLine();
while(str != null) {
if (!str.equals("")) {
String[] s = str.split(",");
User user2 = new User();
user2.setUserId(s[0]);
user2.setPwd(s[1]);
user2.setName(s[2]);
u.put(user2.getUserId(), user2);
}
str = br.readLine();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
测试类:
package cn.cc.day19.home;
import java.util.HashMap;
/**
* @author CC
* 注册登录
*/
public class Test {
public static void main(String[] args) {
String filePath = "F:\\cuichen.cc";
UserManager userManager = new UserManager();
HashMap<String, User> u = new HashMap<String, User>();
userManager.register(filePath);//注册
userManager.login(filePath);//登陆
}
}