需求:从控制台输入账号密码并和文件中保存的账号密码比对,一致则登录成功.
package Io;
import java.io.*;
import java.util.Scanner;
public class Count {
public static void register() throws IOException {
String id;
String password;
Scanner sc=new Scanner(System.in);
System.out.println("请输入注册信息");
System.out.print("账号:");
id=sc.next();
System.out.print("密码:");
password=sc.next();
FileWriter writer=new FileWriter("D:/demo.txt",true);//给出一个带有布尔值的文件名,表示是否附加写入的数据。
BufferedWriter bwriter=new BufferedWriter(writer);
bwriter.write(id);
bwriter.write("&");
bwriter.write(password);
bwriter.newLine();//光标换行
bwriter.close();
}
public static boolean login() throws IOException {
String id;
String password;
Scanner sc=new Scanner(System.in);
System.out.print("账号:");
id=sc.next();
System.out.print("密码:");
password=sc.next();
FileReader reader=new FileReader("D:/demo.txt");
BufferedReader breader=new BufferedReader(reader);
String s=id+"&"+password;
String s1=null;
while((s1=breader.readLine())!=null){//账号密码校验
if(s.equals(s1)){
return true;
}
}
return false;
}
}
测试类
package Io;
import java.io.IOException;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) throws IOException {
System.out.println("欢迎使用本系统!");
Scanner sc=new Scanner(System.in);
loop:while(true) {
System.out.println("请输入你的选择");
System.out.println("1.注册账号");
System.out.println("2.登录账号");
System.out.println("3.结束系统");
int a=sc.nextInt();
switch (a) {
case 1:
new Count().register();
System.out.println("注册成功");
break;
case 2:
if(new Count().login()) {
System.out.println("登录成功");
break;
}else{
System.out.println("账号或密码错误");
break;
}
case 3:
System.out.println("欢迎下次使用");
break loop;
default:
System.out.println("输入错误,请重新选择");
break;
}
}
}
}