缓冲输入输出字符流(实现用户登录注册)

来源:互联网 发布:乘联会销量数据 10月 编辑:程序博客网 时间:2024/05/16 16:00
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; //账户是否存在标识。。默认为不存在为falsewhile((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; //账户是否登陆成功标识。。默认不成功为falsewhile((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();}}

0 0
原创粉丝点击