如何在不删除文件内容的情况下删除文件内容?

时间:2014-09-05 22:12:43

标签: java file

我想清除具有特定扩展名文件的文件的内容。我不想删除任何有关该文件的内容,也不要删除它。该文件是从特定的模型检查器生成的,因此我只需要删除内容并编写自己的内容。我试着像这样打印一个空字符串:

PrintWriter writer = new PrintWriter(file.tctl); writer.print(""); writer.close();

但该文件不再有效。因此,如果有另一种方法来清除文件的内容。

4 个答案:

答案 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