开发者

Files are getting deleted from the SD card

I have developed a Service which will start when I receive the "ON_BOOTUP_COMPLETED" intent,

in "onCreate" of my Service I wrote the logic to create a text file in SD card of the device.

Below is the logic I have used to do so:

       File abc = new File(Environment.getExternalStorageDirectory()+"开发者_JS百科\abc.txt");
        if(!abc .exists())
            abc.createNewFile();
        abcwriter = new FileWriter(abc);

I am using "abcwriter" in other methods to write some content in to text file. So far it is working fine.

But when rebooted the device, I observed that "abc.txt" file is creating again.

but I put a check before creating file "if(!abc .exists())". But still new file is created.

I suspect that when I rebooted the device my files are deleted. Is this the android behaviour..??

If it is please help me what I can do to make sure my files not created again.


You have to use the constructor below and pass true as the second parameter if you want to append to the file. Otherwise it will just get overwritten each time your code runs (when you reboot).Also get rid of the createNewFile() call, you don't need it since the writer will create it.

FileWriter(File file, boolean append) 


abcwriter = new FileWriter(abc); -> this line (re)creates the file.

Make sure it's called only when needed:

File abc = new File(Environment.getExternalStorageDirectory()+"\abc.txt");
if(!abc.exists()) {
    // abc.createNewFile(); -> this is not needed since following line handles this
    abcwriter = new FileWriter(abc);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜