package com.cn.buffered_RW;
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.Scanner;
import jdk.internal.jfr.events.FileWriteEvent;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2016年7月28日21:08:42
* Desc:
需求:缓冲输入输出字符流用户登录注册。。。
*/
public class Login {
static Scanner scanner = new Scanner(System.in);
static File recordFile = new File("f:/recordFile.txt");//存放用户信息的文件
public static void main(String[] args) throws IOException {
while(true){
System.out.println("请选择功能: 登录(A) 注册(B)");
//接收用户键盘输入
String opt = scanner.next();
if("A".equalsIgnoreCase(opt)){
show();
longin();
}else if("B".equalsIgnoreCase(opt)){
register();
}else{
System.out.println("您的选择有误,请重新输入。。。。");
}
}
}
public static void register() throws IOException {
File recordFile = null;
System.out.println("您选择了注册功能。");
while(true){
System.out.println("请输入账号:");
String userName = scanner.next();
//读取文件中的账号密码,匹配是否已经存在
recordFile = new File("f:/recordFile.txt");
FileReader fileReader = new FileReader(recordFile);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = null;
boolean flag = false; //账户是否存在标识。。默认为不存在为false
while((line = bufferedReader.readLine()) != null){
String[] split = line.split("\t");
if(userName.equals(split[0])){//第一个就是用户名
flag = true;
System.out.println("该账号已存在。。请重新输入账号。。。");
break;
}
}
if(flag){//注册失败
break;
}
System.out.println("请输入密码:");
String passWord = scanner.next();
//将符合要求的账号密码写入记录文件中
FileWriter fileWriter = new FileWriter(recordFile, true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(userName + "\t" + passWord);
bufferedWriter.newLine();
System.out.println("恭喜" + userName + "用户注册成功。。。");
bufferedWriter.close();
bufferedReader.close();
break;
}
}
public static void show() throws IOException{
FileReader fileReader = new FileReader(recordFile);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = null;
System.out.println("==================================");
while((line = bufferedReader.readLine()) != null){
System.out.println(line);
}
bufferedReader.close();
}
public static void longin() throws IOException {
FileReader fileReader = new FileReader(recordFile);
BufferedReader bufferedReader = new BufferedReader(fileReader);
System.out.println("您选择了登陆功能。。。");
System.out.println("请输入账号:");
String userName = scanner.next();
System.out.println("请输入密码:");
String passWord = scanner.next();
// String info = userName + "\t" + passWord; //标记1 结合标记2也可以判断
//读取文件中的账号密码,匹配是否存在该用户
String line = null;
boolean flag = false; //账户是否登陆成功标识。。默认不成功为false
while((line = bufferedReader.readLine()) != null){
// if(info.equals(line)) //标记2
String[] split = line.split("\t");
if(userName.equals(split[0]) && passWord.equals(split[1])){
flag = true;
break;
}
}
if(flag){
System.out.println("恭喜" + userName + "登陆成功。。。");
}else{
System.out.println("不存在该用户信息。。。。登陆失败。。。。");
}
bufferedReader.close();
}
}
缓冲输入输出字符流(实现用户登录注册)
最新推荐文章于 2022-03-22 11:10:44 发布