更改密码按钮 - 如何覆盖当前用户密码?

时间:2013-02-22 13:36:25

标签: java netbeans passwords overwrite

我正在编写“更改密码”按钮,我在覆盖保存在文本文件中的密码时遇到问题。

所以想象一下,文本文件中分别保存了用户名和密码:

John01

1871993

$$$

Jessica

123456

$$$

(...)

如何覆盖例如用户:John01当前密码“1871993”并在单击“更改密码”按钮后输入新密码?

我现在所拥有的只是使用新密码保存相同的用户名。

这是我更改密码按钮的代码:

if (ChangePassword())
{
    if (EnterCurrentPasswordTextField.getText().trim().length() != 0 
        && NewPasswordTextField.getText().trim().length() != 0
        && ConfirmNewPasswordTextField.getText().trim().length() != 0)
    {

        if (NewPasswordTextField.getText().equals(ConfirmNewPasswordTextField.getText()))
        {


                FileWriter out = null;
            try{
                out = new FileWriter("login.txt", true);

                out.append(System.getProperty("line.separator"));          
                out.append(NameTextField.getText());
                out.append(System.getProperty("line.separator"));
                out.append(ConfirmNewPasswordTextField.getText());
                out.append(System.getProperty("line.separator"));
                out.append(System.getProperty("line.separator"));
                out.append("$$$");
                out.append(System.getProperty("line.separator"));
                out.close();
                out=null;
                }catch(IOException ioe){
                    NameTextField.setText("IOProblem");
                    }

                StatusMessageLabel.setText(NameTextField.getText() + " you have succesfully changed your password");
                MainTabbedPane.setEnabledAt(0, false);  
                MainTabbedPane.setEnabledAt(1, true);
                MainTabbedPane.setEnabledAt(2, true);
                MainTabbedPane.setEnabledAt(3, true);        
                MainTabbedPane.setEnabledAt(4, true);
                MainTabbedPane.setEnabledAt(5, false);
                MainTabbedPane.setSelectedIndex(2);

        }
        else {
            StatusMessageLabel.setText("ERROR: Please confirm your New Password is identical in both fields!");
        }
    }
    else {
        StatusMessageLabel.setText("ERROR: Please enter all empty fields!");
    }    
}    
else {
    StatusMessageLabel.setText("ERROR: Wrong Current Password Details!!");
}

2 个答案:

答案 0 :(得分:1)

将您当前的密码/用户名文件加载到Map中查找您的条目并写出您的Map条目。也许更好的解决方案是使用某种内存数据库。

答案 1 :(得分:0)

如何使用MappedByteBuffer