0

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

所以想象有一个用户名和密码分别保存在一个文本文件中:

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

2 回答 2

1

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

于 2013-02-22T13:43:26.363 回答
0

使用MappedByteBuffer.

于 2013-02-22T13:47:33.217 回答