登陆类
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();
}
}
}