Luthfi Musafa Ответов: 0

Вход в систему java из файла .txt на основе


нужна помощь!. как отобразить имя человека, который только что вошел в систему из файла .txt?, вот мой код входа

<pre>public void Masuk(){
    try {
    String lokasi = "D:/settings.txt";
            String username = txtUser.getText();
            String password = txtPass.getText();
    
    
            FileReader fr = new FileReader(lokasi);
            BufferedReader br = new BufferedReader(fr);
            String line, user, pass;
            boolean isLoginSuccess = false;
           while ((line = br.readLine()) != null) {
                user = line.split(" ")[1].toLowerCase();
                pass = line.split(" ")[2].toLowerCase();
                if (user.equals(username) && pass.equals(password)) {
                    isLoginSuccess = true;
                    this.dispose();
                    new Main_Menu(this, rootPaneCheckingEnabled).show();
                    
                    break;
                } 
           }
                
                
              if (!isLoginSuccess) {
                JOptionPane.showMessageDialog(null, "USERNAME/PASSWORD WRONG", "WARNING!!", JOptionPane.WARNING_MESSAGE);
            }
            fr.close();
         
            
    }catch(Exception e){
    e.printStackTrace();
        }
            }


а вот моя форма jdialog для отображения имени человека, который только что вошел в систему

public void Berhasil(){
        String data = "D:/Settings.txt";
        
        
        
       try {
            FileReader fr = new FileReader(data);
           BufferedReader br = new BufferedReader(fr);
           String line = br.readLine(),nama;
           
           nama = line.split(" ")[0].toLowerCase();
         String message = "Selamat datang "+ nama;
           
            
            
            String text;
            
            while ((line = br.readLine()) != null)
                
            txtBerhasil.setText(""+message);
        } 
        catch (FileNotFoundException fnfe) {
            fnfe.getMessage();
        } 
        catch (IOException ioe) {
            ioe.getMessage();
        }
                
                
        
    }


и это, как моя .txt-файл выглядит как

Luthfi Luthfi Хе-Хе
Лутфи Фитра Хе-Хе

я предполагал отобразить только первое слово, потому что первое слово-это имя, второе слово-имя пользователя, а третье слово - пароль

Что я уже пробовал:

я уже пробовал задавать вопросы в stackoverflow, но большой помощи не получил

ps: извините за мой плохой английский

Mohibur Rashid

что находится в `line.split(" ")[0].toLowerCase()`
?

Richard MacCutchan

Вы должны прочитать файл только один раз. При чтении каждой строки вы можете разделить ее на три переменные: имя, Имя пользователя и пароль. Затем после сравнения значений, если вы получите совпадение, вы можете отобразить имя, которое вы уже сохранили. И не забывайте, что в реальном приложении хранение паролей в открытом тексте очень опасно.

0 Ответов