2014-08-28 43 views
0

我想從文本文件DATAS下令像用java

qwer,qwer,qwer,qwer,wqer 
qwer,qwer,qwer,qwer,wqer 

但是,我需要從文本文件中的所有數據進行比較,從文本文件數據的用戶名和密碼,我只需要每一行的第2個數據這是用戶名和密碼。 其他部分工作正常,只需要此代碼爲loginB按鈕。 usernameTpasswordT是已創建的文本字段。

loginB.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
     File loginf = new File("login.txt"); 

      try{ 
       Scanner read = new Scanner(loginf); 
       read.useDelimiter(","); 

       while(read.nextLine()){ 
        String user = read.next(); 
        String pass = read.next(); 
        read.next(); 
       if(usernameT.getText().equals(user) && passwordT.getText().equals(pass) && admin.isSelected()){ 
         new Menu(); 
        } 

       } 
       JOptionPane.showMessageDialog(null, "Incorrect username or password"); 
       usernameT.setText(""); 
       passwordT.setText(""); 

       read.close(); 
      } 
      catch (FileNotFoundException qwerty){ 
        JOptionPane.showMessageDialog(null, "Can't find a text file"); 
      } 
     } 
    }); 

回答

1

這是有幫助的:

boolean login = false; 
while(read.nextLine() !=null){ 
    String user = read.next(); 
    String pass = read.next(); 
    read.next(); 
    if(usernameT.getText().equals(user) && passwordT.getText().equals(pass) && admin.isSelected()){ 
     login = true; 
     break;     
    } 
} 
if(login) 
    new Menu(); 
else { 
    JOptionPane.showMessageDialog(null, "Incorrect username or password"); 
    usernameT.setText(""); 
    passwordT.setText(""); 
} 
+0

日Thnx,它解決了我的問題 – user3053089 2014-08-28 15:11:54