在java文件输入输出中使用arraylist
所以,问题来了。我想使用java GUI创建一个文件,这类似于用户可以在我的GUI中创建一个帐户或登录,然后他们的帐户在我的GUI中变成file.txt。但是,我这里有个问题。当我在GUI中创建一个帐户时,它工作得很好,并且创建了文件。但是,当我再次尝试创建一个帐户时,一个以前创建的帐户消失了。所以,我想在这种情况下我需要使用arraylist,我使用了它,但它仍然不起作用。代码如下:在java文件输入输出中使用arraylist,java,arraylist,file-io,fileinputstream,Java,Arraylist,File Io,Fileinputstream,所以,问题来了。我想使用java GUI创建一个文件,这类似于用户可以在我的GUI中创建一个帐户或登录,然后他们的帐户在我的GUI中变成file.txt。但是,我这里有个问题。当我在GUI中创建一个帐户时,它工作得很好,并且创建了文件。但是,当我再次尝试创建一个帐户时,一个以前创建的帐户消失了。所以,我想在这种情况下我需要使用arraylist,我使用了它,但它仍然不起作用。代码如下: String filename="D:/settings.txt"; public void getIden
String filename="D:/settings.txt";
public void getIdentity() throws FileNotFoundException, IOException{
File file = new File(filename);
ArrayList identity = new ArrayList();
String fullname = txt_fullname.getText();
String username = txt_username.getText();
String password = pass_password.getText();
try {
FileWriter fw = new FileWriter(filename);
Writer output = new BufferedWriter(fw);
identity.add(fullname + "-" + username + "-" + password);
for (int i = 0; i <identity.size(); i++)
{
output.write(identity.get(i).toString() + "\n");
}
output.close();
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null, "Cannot create a file");
}
}
您有
FileWriter fw=newfilewriter(文件名);
因此,每次调用函数时,文件都会被一次又一次地重写
所以你有两个选择:
设置
文件。但您必须在附加
模式下打开文件
FileWriter fw = new FileWriter(filename, true); // true flag indicate appending mode
而且,您还必须更改您的读取端,因为您的设置文件现在存储所有凭证如果此答案适合您,请将答案标记为“已接受”。
FileWriter fw = new FileWriter(filename, true); // true flag indicate appending mode