Java 多人登录

import java.io.Serializable;

@SuppressWarnings("serial")
public class User implements Serializable{
private String name;
private String password;
public User(String name, String password) {
	super();
	this.name = name;
	this.password = password;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
}

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Scanner;

public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception, IOException {
	String yes ="y";
	String name;
	String password;
	boolean isGoOn = false;
	ArrayList<User> al = new ArrayList<User>();
	Scanner sc = new Scanner(System.in);
	//1.确定目标文件
	File file=new File("C:\\Users\\Administrator\\Desktop\\user.txt");
	while(yes.equalsIgnoreCase("y")){
		System.out.println("欢迎使用系统,请选择功能:");
		System.out.println("登录(1),注册(2)");
		int choice=sc.nextInt();
		switch(choice){
		case 1:
			/**
			 * 读
			 */
			if(file.length()!=0){
				ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
				al=(ArrayList<User>) ois.readObject();
			    ois.close();
			/**
			 * 登录
			 */
			System.out.println("*******登录*******");
			System.out.println("请输入用户名:");
			String nam=sc.next();
			System.out.println("请输入密码:");
			String passwor=sc.next();
			for (User user : al) {
				if(user.getName().equals(nam)&&user.getPassword().equals(passwor)){
				isGoOn=true;
				break;
			}
			}
				if(isGoOn){
					System.out.println("登陆成功!");
				}else{
				System.out.println("登陆失败!");
				}
				
			}else{
				System.out.println("请先注册!");
			}
			isGoOn=false;
			break;
		case 2:
			/**
			 * 注册
			 */
			//读
			if(file.length()!=0){
				ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
				al=(ArrayList<User>) ois.readObject();
				ois.close();
			}
			System.out.println("*******注册*******");
			System.out.println("请输入用户名:");
			name=sc.next();
			System.out.println("请输入密码:");
			password=sc.next();
			/**
			 * 写
			 */
			//2.确定流
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
			//3.确定数据
			User user = new User(name,password);
			al.add(user);
			//4.调用写的方法
			oos.writeObject(al);
			oos.close();
			System.out.println("存入成功!");
			break;
			default:
				System.out.println("选择错误!");
				break;
		}
		System.out.println("是否继续?(y/n)");
		yes=sc.next();
	}
	System.out.println("程序结束!");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值