Поиск имени пользователя и пароля вместе с другими переменными в текстовом файле? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть текстовый файл с именем UserDetails.txt , с которого я пытаюсь прочитать.

Каждая строка текстового файла выглядит следующим образом:

John : Doe : Seattle : jd3 : 1234

Jane : Doe : Olympia : jd4 : 5678 

, где последние две переменные - это имя пользователя и пароль, которые я пытаюсь найти.

Мой код:

public class LoginFrame extends javax.swing.JFrame 
{


private static Scanner keyboard = new 
Scanner(System.in);
String username;
String password;
String filePath = "UserDetails.txt";

public LoginFrame() {
    initComponents();
}

private void jButtonLoginActionPerformed(java.awt.event.ActionEvent evt) {                                             
    username = jTextFieldUsername.getText();
    password = jTextFieldPassword.getText();
    verifyLogin(username,password,filePath);
   }                                            

public static void verifyLogin(String username, 
String password, String filepath)
{
   boolean match = false;
   String tempUserName = "";
   String tempPassword = "";
   try
   {
       keyboard = new Scanner(new 
       File(filepath));
       keyboard.useDelimiter("[:\n]");

       while(keyboard.hasNext() && !match)
       {
           tempUserName = keyboard.next();
           tempPassword = keyboard.next();

           if(tempUserName.trim().equals(username.trim()) && tempPassword.trim().equals(password.trim()))
           {
               match = true;
           }
       }
       keyboard.close();
       System.out.print(match);
   }
   catch (Exception e)
   {
       System.out.print("Error");
   }
}

Проблема, с которой я сталкиваюсь, заключается в том, что я не уверен, как отделить имя пользователя и пароль от имени и фамилии пользователя.Использование разделителя позволяет найти эти два конкретных значения только тогда, когда имя пользователя и пароль являются единственными двумя переменными в текстовом файле (без имени и фамилии).

1 Ответ

0 голосов
/ 15 февраля 2019

прочитайте всю строку, а затем вы можете использовать

    String str = "John : Doe : Seattle : jd3 : 1234"; // input line that you read from file
    String[] arr = str.split(" : ");
    String username = arr[3]; // as index starts from 0;
    String password = arr[4]; // similarly you can get other values

, чтобы преобразовать его в массив строк, который будет иметь имя пользователя с индексом 3 и пароль с индексом 4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...