删除文件内容android

时间:2012-06-18 09:51:25

标签: java android file-io filewriter bufferedwriter

在向其中写入更多信息之前,我需要删除文件的内容。我尝试了不同的方法,例如我删除内容但文件大小保持相同的位置,当我在删除后开始写入内容时,在我的新数据写入之前,空白洞似乎是删除的大小

这就是我尝试过的......

BufferedWriter bw;
try {
    bw = new BufferedWriter(new FileWriter(path));
    bw.write("");
    bw.close();
}
catch (IOException e) {
    e.printStackTrace();
}

我也试过这个......

File f = new File(file);
FileWriter fw;

try {
    fw = new FileWriter(f,false);
    fw.write("");
}
catch (IOException e) {
    e.printStackTrace();
} 

有人可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:9)

FileWriter (path, false)

false会告诉编写者截断文件而不是附加到文件中。

答案 1 :(得分:0)

在致电flush()之前尝试拨打close()

FileWriter writer = null;

try {
   writer = ... // initialize a writer
   writer.write("");
   writer.flush(); // flush the stream
} catch (IOException e) {
   // do something with exception
} finally {
   if (writer != null) {
      writer.close();
   }
}

答案 2 :(得分:0)

可能是因为你没有关闭FileWriter,fw.close();你也不需要“删除”旧数据,只需开始写,它就会覆盖旧数据。所以要确保你到处都是。

这对我有用:

    File f=new File(file);
    FileWriter fw;
    try {
        fw = new FileWriter(f);
        fw.write("");
       fw.close();
    } catch (IOException e) {
        e.printStackTrace();
    }