gpt4 book ai didi

java验证文本文件中的变量

转载 作者:行者123 更新时间:2023-11-30 06:58:50 25 4
gpt4 key购买 nike

从文本文件中读取凭据时遇到此问题,其中凭据用新行分隔,例如新段落,我不知道如何阅读它们。以下是我的登录按钮代码:

private class Login implements ActionListener{
public void actionPerformed(ActionEvent Login){
Boolean login = false;
file = new File("Member Details.txt");
try {
read = new Scanner(file);
} catch (FileNotFoundException ex) {
Logger.getLogger(BTRSMain.class.getName()).log(Level.SEVERE, null, ex);
}
String user = read.next();
String pass = read.next();
if(loginpage.UsernameTB.getText().equals(user) && loginpage.PasswordTB.getText().equals(pass)){
login = true;}
if(login)
{
loginpage.frame.setVisible(false);
mainmenupage.frame.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null, "Incorrect username or password! Please re-enter!");
loginpage.UsernameTB.setText("");
loginpage.PasswordTB.setText("");
}
}
}

用户注册后,成员(member)详细信息(即用户名和密码)将保存在文本文件中,每个文件换行,the text file image here ,在登录页面,第一个用户名和密码可以读取,但之后第二个用户名和密码就无法读取,请问怎么办?如何换行读取该代码?

文本文件的文本是这样的:
第一行(第一个用户名):lulu
第二行(第一个密码):lili
第三行(第二个用户名):lili
第四行(第二个密码):lulu

它可以读取第一个用户名和密码,但不能读取第二个用户名和密码。

最佳答案

您只是读取单个用户名-密码对。您需要阅读整个文件。例如,如果我们保留当前每次读取文件的设计,您可以这样做(我将登录检查逻辑分离到另一个方法中,原始方法可以调用它并弹出相关消息):

private boolean canLogin(String user, String password) {
try (Scanner read = new Scanner(new File("Member Details.txt"))) {
while (read.hasNext()) {
String readUser = read.next();
String readPassword = read.next(); // Assume the file is well-formed

// If it's the right user, check the password
// If not, continue reading the file
if (user.equals(readUser)) {
return password.equals(readPassowrd);
}
}
catch (FileNotFoundException ex) {
Logger.getLogger(BTRSMain.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}

关于java验证文本文件中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41313099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com