importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.util.HashMap;importjava.util.Map;importjava.util.Scanner;public classZuoye02 {static Scanner sc = newScanner(System.in);public static Map map = newHashMap();static String choose = null;public static voidlogo() {//注册
System.out.println("注册:");
System.out.println("请输入您要注册的账号:");
String id=sc.next();
System.out.println("请输入您要注册账号的密码:");
String password=sc.next();
map.put(id,password);
}public static voidmain(String[] args) {//写一个集合//需求://循环注册十个账号,保证程序重启之后,使用这十个账号都能登录成功//调用注册方法:
logo();
System.out.println("注冊成功!");
start:while(true) {
System.out.println("是否继续注册(y/n)");
String choose=sc.next();if(choose.equalsIgnoreCase("y")) {
logo();
}else{breakstart;
}
}//要保证系统重启后再使用账号也能登录成功,那么就要把程序(注册好的账号)=>文件夹//而这里是把对象给对象流化了 可以用序列化和反序列化//1 地址 2 输出: 调用FileOutStra.. ObjectOutStr.. 两个类 write
FileOutputStream fos= null;
ObjectOutputStream ops= null;//再输入 读取 read FileIn..... ObjectRead
FileInputStream fis = null;
ObjectInputStream ois= null;try{
fos= new FileOutputStream("C:/User/User.txt");
fis= new FileInputStream("C:/User/User.txt");try{
ops= newObjectOutputStream(fos);
ois= newObjectInputStream(fis);
ops.writeObject(map);
System.out.println("注册成功!");
ops.flush();
ops.close();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}catch(FileNotFoundException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
Map userIn = null;
System.out.println("用户登录:");
System.out.println("请输入用户账号:");try{try{
userIn= (Map)ois.readObject();
}catch(ClassNotFoundException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}//登录
String id =sc.next();
System.out.println("请输入密码:");
String password=sc.next();
User in= newUser(id,password);if(userIn.containsKey(in.getId())&&userIn.containsValue(in.getPassword())) {
System.out.println("登录成功!");
}else if(!userIn.containsKey(in.getId())||!userIn.containsValue(in.getPassword())){
System.out.println("密码输入错误");
}else{
System.out.println("登录失败!");
}//} catch (ClassNotFoundException e) {// //TODO Auto-generated catch block//e.printStackTrace();//} catch (IOException e) {// //TODO Auto-generated catch block//e.printStackTrace();
}finally{try{
fis.close();
ois.close();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}