【问题标题】:In Java when writing an array to file, only the last line is written在Java中将数组写入文件时,只写入最后一行
【发布时间】:2015-07-26 22:45:19
【问题描述】:

我正在尝试使用循环将数组写入文件,但每次打开文本文件时它只显示最后一行。如果我直接用 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);
}
}

Write file 是我的文件写入类。如果有用的话,我可以在另一条评论中发表。这是我在互联网上找到的。File_namec2g 是文件的名称,真实的是它是否覆盖。 所以我的问题是如何让数组逐行打印到一个文本文件中,该文件将在记事本等程序中显示出来?

【问题讨论】:

标签: java arrays writefile


【解决方案1】:

根据您的评论,您每次调用data.writeToFile() 时都会创建一个新的PrintWriter 对象。相反,在WriteFile 构造函数中创建对象,然后在WriteFile 中创建一个名为save()(或类似方法)的方法,该方法调用close() 对象上的close() 方法。在循环中编写完所有文本后调用该方法。

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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多