清除文本文件内容的清洁方法

时间:2015-02-03 20:23:07

标签: java android io

我有这个网络浏览器应用程序,我将浏览历史记录存储在用户SD卡的.txt文件中。清除历史记录的方法就是删除文件,如果文件不存在则再次清除历史记录时抛出异常(此异常是临时的,因为我打算将来删除它,但是在那里用于测试目的)。有没有办法清除history.txt而不删除更干净的文件?这是我如何“清除”文件的代码片段:

 if(MainActivity.file.exists()){
        MainActivity.file.delete();
        for(int x = 0; x < 1000; x++){
            urls[x] = "";
        }
        adap.notifyDataSetChanged();}
else if(!MainActivity.file.exists()){
        throw new InvalidFileDeletionException("File does not exist and therefore can not be deleted.");
    }

2 个答案:

答案 0 :(得分:1)

你可以在this post上做:用空白重写内容(&#34;&#34;):

(我将在这里复制原帖:)

覆盖文件foo.log:

File myFoo = new File("path/to/history.txt");
FileOutputStream fooStream = new FileOutputStream(myFoo, false); // true to append
                                                                 // false to overwrite.
byte[] myBytes = "".getBytes() 
fooStream.write(myBytes);
fooStream.close();

File myFoo = new File("path/to/history.txt");
FileWriter fooWriter = new FileWriter(myFoo, false); // true to append
                                                     // false to overwrite.
fooWriter.write("");
fooWriter.close();

答案 1 :(得分:0)

试试这个:

FileWriter fw = new FileWriter(path + "/history.txt", false);
fw.close();

当然,有更简洁的方法来处理路径和文件名,但你得到了图片。