我想清除具有特定扩展名文件的文件的内容。我不想删除任何有关该文件的内容,也不要删除它。该文件是从特定的模型检查器生成的,因此我只需要删除内容并编写自己的内容。我试着像这样打印一个空字符串:
PrintWriter writer = new PrintWriter(file.tctl);
writer.print("");
writer.close();
但该文件不再有效。因此,如果有另一种方法来清除文件的内容。
答案 0 :(得分:0)
只需从代码中完全删除打印件即可。您已经使用新的FileOutputStream / PrintWriter /用于打开它的任何内容截断了文件。不需要I / O或truncate()。不要使用追加模式。
答案 1 :(得分:0)
我猜最简单的方法
new RandomAccessFile("filename.ext", "rw").setLength(0);
答案 2 :(得分:-1)
你必须使用FileOutputStream然后你有truncate()方法:
File f = new File("path-of-the-file.here"); FileChannel channel = new FileOutputStream(f, true).getChannel(); channel.truncate(0); channel.close();
答案 3 :(得分:-1)
像这样调用write()方法:
.write((new String()).getBytes());
这会使您的文件为空。如果这不起作用,请尝试使用:
FileOutputStream erasor = new FileOutputStream("filename.ext");
erasor.write((new String()).toByteArray());
erasor.close();
或者只是尝试覆盖文件
//open file in override mode
FileOutputStream out = new FileOutputStream("filename.ext");
//now anything that we write here will remove the old one so just write space ("") here