У меня есть графический интерфейс для входа пользователя.
Сначала пользователь создает свою учетную запись, и эта информация сохраняется в файле .txt
. Я использую PrintWriter
, чтобы добавить детали в этот файл.
Детали хранятся с использованием разделителя. Я могу легко прочитать каждую деталь пользователя из файла.
В интерфейсе входа в систему у меня есть 2 JTtextField
компонентов в JFrame
, первый для имени пользователя и второй onw для пароля.
Я получаю значения, используя метод getText:
String user = user.getText();
String password = password.getText();
Я пытался использовать BufferedReader
, но не могу заставить его работать:
if(user.equals(br.readline))
Что я хочу сделать, это сканировать файл, и если что-либо в этом файле совпадает с именем пользователя (getText от пользователя в кадре), тогда я хочу использовать SetVisible, чтобы перейти к следующему кадру
Моя проблема в том, что даже при неверном пароле и пользователе он переходит на новый кадр
Как я могу это исправить?
Код для проверки пользователя и пароля, найденный в сети на StackOverflow, по-прежнему работает.
Scanner sc = new Scanner(new File("Details.txt"));
while(sc.hasNextLine()) {
int val =0;
String line = sc.nextLine();
if(line.indexOf(user) !=-1 && line.indexOf(pass) !=-1) {
JOptionPane.showMessageDialog(null,"Login");
val = 1;
vf.setVisible(true);
break;
} else {
JOptionPane.showMessageDialog(null,"Invalid");
val = 0;
break;
}
}
Другой код, который используется в for, хотя даже в цикле do while, все еще не работает.
File file = new File("Details.txt");
BufferedReader br = new BufferedReader(new FileReader("Details.txt"));
String Line;
do{
if(user.equals(br.readLine()) && pass.equals(br.readLine())){
vf.setVisible(true);
} else {
JOptionPane.showMessageDialog(null,"Invalid");
}
}while((Line=br.readLine()) !=null )
Вот как информация о пользователях хранится в моем файле.
=======================
=======================
First Name = Ahmed Ali
Last Name = Qazi
Address = Al-Abbass Colony pHase 2
Phone Number = +92032329301
Email Address = ahmedrider56@gmail.com
UserName = ahmedfirst67
Password = dangerd = 2hg
=======================
=======================
=======================
=======================
First Name = Ahm345
Last Name = Qa345
Address = Al-asfafs
Phone Number = +92032329301
Email Address = ahmgsdg
UserName = ahmegg
Password = dagg