java小说登录类

登陆类

package com.novel.login;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.OutputStream;

public class AuthorReg {
	public static void main(String[] args) {
		
	}
	//判断用户输入的是注册还是登录
	public static AuthorSource chooseLorR(){
		System.out.println("欢迎进入小说阅读网");
		System.out.println("你好,请选择:1.登录  2.注册");
		BufferedReader bf =new BufferedReader(new InputStreamReader(System.in));
		try {
			while(true){
				String lor=bf.readLine();
				if(!(lor.equals("1"))&&!(lor.equals("2"))){
					System.out.println("输入有误,请重新输入:");
				}else if(lor.equals("1")){
					AuthorSource authorLinfo2=null;
					while(authorLinfo2==null){
						AuthorSource authorLinfo=AuthorLogin.AuthorLoginSee();
						System.out.println(authorLinfo.getLoginName());
						authorLinfo2=AuthorLogin.typeReader(authorLinfo);
						//System.err.println("在文件中没有找到用户信息");
					}
					System.out.println("登录成功..");
					System.out.println("欢迎你,"+authorLinfo2.getLoginName()+"您可以进行如下的操作:");
					return authorLinfo2;
				}else if(lor.equals("2")){
					AuthorSource arInfo=AuthorReg.typeIn();
					AuthorReg.typeWriter(arInfo);//开始向文件写入注册用户信息
					System.out.println("注册成功..");
					System.out.println("欢迎你,"+arInfo.getLoginName()+"您可以进行如下的操作:");
					return arInfo;
				}
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	//用户输入注册信息
	public static AuthorSource typeIn(){
		System.out.println("你的选择:注册");
		System.out.println("欢迎进入注册页面");
		System.out.println("请输入:登录名-密码-真实名-性别(1.男2.女)|中间用一个空格隔开");
		//定义一个输入字符流,套一个缓冲流
		BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
		try {
			while(true){
				String str=br.readLine();
				//定义一个由英文和一个空格加上若干个英文的正则表达式
				String strR="^([a-zA-Z0-9]*\\s+[a-zA-Z0-9]*\\s+.*\\s+[0-1]{1})$";
				//验证输入的字符串是否满足strR表达式的要求
				if(str!=null&&str.matches(strR)){
					String[] spR=str.split("\\s");
					//System.out.println(spR[0]+"---"+spR[1]);
					System.out.println(str);
					AuthorSource authorsource =new AuthorSource();//写一个Person对象
					authorsource.setLoginName(spR[0]);//将值传递给对象
					authorsource.setName(spR[2]);//将值传递给对象
					authorsource.setPsd(spR[1]);//将值传递给对象
					authorsource.setSex(Integer.valueOf(spR[3]));//将值传递给对象
					return authorsource;//将封装好的数据返回到对象中
				}else{
					System.err.println("wrong"+""+"请重新注册:");
				}
			}
//			System.out.println("str");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	//将数据写到文件里面,保存起来
	public static void typeWriter(AuthorSource authorsource){
		OutputStream os= null;//输出字节流
		ObjectOutputStream oos=null;
		File f1= new File("D:\\testio\\a\\novelAuthor.txt");//文件对象生成
		if(!f1.exists()){//判断文件是否存在
			f1.getParentFile().mkdirs();//不存在创建文件
		}
		try {
			os= new FileOutputStream(f1,true);
			if(f1.length()<1){
				oos=new ObjectOutputStream(os);
			}else{
				oos =new MyObjectOutputStream(os);
			}
//			oos=new ObjectOutputStream(os);
			oos.writeObject(authorsource);
			oos.flush();//将缓冲区的字符数据写到文件里
			/*ops.close();
			bw.close();*/
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值