2016-12-24 71 views
1

當我從一個文本文件中讀取證書時,用新行分隔,像新段落,我不知道如何閱讀它們,我有這個問題。下面是我的登錄按鈕代碼:java驗證來自文本文件的變量

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(""); 
     } 
     } 
    } 

用戶註冊後,會員的細節,這是用戶名和密碼將被保存在文本文件中,在每一個新的生產線,the text file image here,在登錄頁面中,可以讀取第一個用戶名和密碼,但後來,第二個用戶名和密碼無法讀取,我怎麼能這樣做?我如何閱讀新代碼?

文本文件的文字是這樣的:
第一行(第一個用戶名):露露
第二行(第一密碼):麗麗
第三行(第二個用戶名):麗麗
第四行(第二個密碼):lulu

它可以讀取第一個用戶名和密碼,但不能讀取第二個用戶名和密碼。

+2

請將文本文件內容顯示爲文本而不是圖像。這個文件的確切格式是什麼?是隻有一個用戶名/密碼還是在其中存儲多個用戶名/密碼組合? – vanje

+0

使用一段時間循環.. – 2016-12-24 12:41:31

回答

1

你只是在閱讀一個用戶名 - 密碼對。你需要閱讀整個文件。例如,如果我們每次都保留當前讀取文件的設計,則可以這樣做(我將登錄檢查邏輯分隔爲另一種方法,原始方法可以調用它並彈出相關消息):

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; 
} 
+0

謝謝,它有幫助! –