如何从文本文件检查用户名和密码的有效性

时间:2019-03-26 11:38:47

标签: java

我想阅读我的文本文件,并匹配用户在登录页面中输入的accountNumber和pin。

  • 这是我的文本文件格式

    0,admin,lastAdmin,1122334455,123456.
    

    0代表id。

    admin代表姓名。

    lastAdmin的形式为lastName。

    1122334455代表accountNumber。

    123456代表大头针。

  • 这是我的错误代码

    package atm;
    
    import java.io.BufferedReader;
    
    import java.io.FileInputStream;
    
    import java.io.InputStreamReader;
    import java.util.Scanner;
    
    public class Login {
    
        public void verifyLogin(){
            String accountNumber;
            String pin;
            Scanner data = new Scanner(System.in);
    
            try{
                FileInputStream fis = new FileInputStream("myDataBase.txt");
                BufferedReader br = new BufferedReader(new InputStreamReader(fis));
    
                String line;
                while ((line = br.readLine()) !=null ){
                  String[] lineSpliter = line.split(",");
                  if (accountNumber.equals(accountNumber) && pin.equals(pin)){
                      br.readLine(lineSpliter[6] + ',' +lineSpliter[8]);
                  }
                }
            }
        catch (Exception e){
        }
    }
    }
    

1 个答案:

答案 0 :(得分:1)

您需要找到pin所标识的行并比较String name = "admin"; String pin = "123456"; Path path = Path.of("myDatabase.txt"); try (BufferedReader reader = Files.newBufferedReader(path)) { String[] row = reader.lines() .map(s -> s.split(",")) .filter(r -> r[1].equals(name)) .findFirst() .orElseThrow(() -> new IllegalArgumentException("Name not found")); if (row[4].equals(pin)) { System.out.println("Correct pin"); } }

{{1}}