我想阅读我的文本文件,并匹配用户在登录页面中输入的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){
}
}
}
答案 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}}