如何解决TXT 文件Java GUI 登录
我想从名为“members.txt”的文本文件登录,该文件使用第二行(用户名)和第三行(密码)和“/”分隔符。但是当我运行它时,它们似乎按顺序识别了所有文本文件的帐户。请帮忙。这是我的代码。
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
String s;
String bypassid = "guest";
String bypasspw = "guest";
String[] array;
boolean isLogin= false; // 포기
BufferedReader br = new BufferedReader(new FileReader("members.txt"));;
while((s=br.readLine())!=null) {
array=s.split("/");
if(txtID.getText().equals(array[1])&&txtPass.getText().equals(array[2])){
JOptionPane.showMessageDialog(null,"로그인 되셨습니다");
break;
} else if(array.length != 0 && bypassid.equals(txtID.getText())&&bypasspw.equals(txtPass.getText())){
JOptionPane.showMessageDialog(null,"로그인 되셨습니다");
break;
} else {
JOptionPane.showMessageDialog(null,"계정 정보를 다시 확인해주세요.");
}
}
br.close();
} catch (IOException e10) {
// TODO Auto-generated catch block
e10.printStackTrace();
}
}
});
解决方法
实际上您正在阅读每一行,如果用户/密码不匹配,您会在 else {} 块中打印错误消息。您可以只设置布尔变量 isLogin 一次并查看 isLogin 是否为 false,在循环外打印一次错误消息。下面是代码片段。用下面的代码替换你的 actionPerformed 方法
<div class="ag-theme-material">
<ag-grid-angular
style="width: 500px; height: 500px;"
[rowData]="rowData"
[columnDefs]="columnDefs"
>
</ag-grid-angular></div>
请注意@David Kroukamp 在评论中提到的内容
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。