我正在尝试使用循环将数组写入文件,但每次打开文本文件时,它只显示最后一行。如果我直接用toString编写数组,它有额外的空格和数组字符我不想要。这是我写入数组的代码
WriteFile data = new WriteFile(file_namec2g , true);
for (String s : full) {try {
data.writeToFile(s );
} catch (IOException ex) {
Logger.getLogger(CC2LevelManagerUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
写文件是我的文件写作类。如果它有用,我可以在另一条评论中发布。它是我在internet上找到的.File_namec2g是文件的名称,如果它被覆盖则为true。 所以我的问题是如何让数组逐行打印成一个文本文件,这个文件将在记事本这样的程序中显示?
答案 0 :(得分:1)
根据您的评论,您每次拨打PrintWriter
时都会创建一个新的data.writeToFile()
对象。相反,在WriteFile
构造函数中创建对象,然后在WriteFile
中创建一个名为save()
(或类似)的方法,该方法调用close()
上的PrintWriter
方法宾语。一旦你在循环中编写了所有文本,就调用该方法。
WriteFile data = new WriteFile(file_namec2g , true);
for (String s : full) {
try {
data.writeToFile(s );
} catch (IOException ex) {
Logger.getLogger(CC2LevelManagerUI.class.getName()).log(Level.SEVERE, null, ex);
}
data.save() // Save the changes to the file
在WriteFile
public void save(){
pw.close(); // Replace "pw" with the name of the `PrintWriter` object
}