java - 如何删除文件中的现有文本

标签 java file-io

我正在为学校做作业,并且正在尝试一些超出额外学分的事情。该程序用于演示对给定整数数组大小进行线性搜索和二分搜索之间的效率差异。我设置了一个循环来创建一个 int[size] 数组,搜索一个随机数,然后创建一个新的 int[size*2] 数组。

然后将结果写入文本文件。输出写的很好,但是多次编译运行程序后,输出文件有那么多段数据。

这是我嵌套在 try/catch block 中的代码:

File output= new File("c:\\BigOhResults.txt");
int counter=2;

if (output.canWrite() && output.exists()) {
    BufferedWriter out= new BufferedWriter(new FileWriter(output, true));
    out.write(type+" \n\n"); //writes the search type
    out.write(type+"Search Results\n\n");

    while (counter <= data.size()) {
        out.write(data.get(counter-1)+" millisecond runtime " +
        "for a "+ data.get(counter-2)+" random number " +"sample size\n");
        counter=counter+2;
    }
}

有什么方法可以在每次运行程序时删除该输出文件中的文本?

我这样做的原因是教授要求打印出带有图表数据的结果。我已经完成了绘图要求,并且工作正常。我只想让文件打印输出与图形打印输出匹配。

最佳答案

传递给 FileWriter 构造函数的第二个参数为“true”,是“append”。 IE。因为您已将其设置为 true,它会将您的新输出附加到文件末尾。如果您改为传入 false,它将删除已经存在的数据并写入新数据。

关于java - 如何删除文件中的现有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2127862/

相关文章:

java - 如何在android中解压带有子目录的文件?

java - 如何扩展/编辑 Netbeans 自动生成的 REST 服务?

java - 如何修复: “No suitable driver found for jdbc:mysql://localhost/dbname”

java - 如何让特定的类(class)成员处于混淆状态?错误期望在 arg 之前分隔 ',' 或关闭 ')'

java - 如何访问从JAVA代码索引的列?

java - BufferedReader 无法正确迭代

python - 将随机数写入Python文件并使用换行符连接

c++ - 写入二进制 C++ 错误

java - 将 ZipOutputStream 转换为 ZipInputStream

c - 如何使用 fscanf 解析二进制文件