我正在创建一个文件:
OutputStream oStream = new OutputStream(openFileOutput("myFile.txt", MODE_PRIVATE));
在处理的某个时刻我想删除它并在删除失败时发出警报。
问题是,可以删除失败吗?
我知道上面会创建:
/data/data/my.app/files/myFile.txt
AFAIK,这是私人应用程序存储,不再存在于SD卡上。它基本上是RAM。
编码是否符合我无法从RAM中删除文件的机会?
假设无根且正常操作的手机可以删除
/data/data/my.app/files/myFile.txt
永远失败?
如果删除失败,那又怎样?告诉用户转到“设置”|应用|我的应用|清除数据?告诉他们他们的状况非常糟糕并且要换一个新的吗?
答案 0 :(得分:0)
AFAIK,这是sdcard上不再存在的私有应用程序存储。
Internal storage从未removable storage。很少有设备有“sdcard”,因为它们没有卡槽或插槽中没有卡。
它基本上是RAM。
没有
编码是否符合我无法删除文件的可能性
您应用中的其他内容可能会打开该文件。如果您选择让您的应用程序使用多个进程,则一个进程可能希望删除该文件,而另一个进程打开并锁定该文件。
如果你确定你的应用中没有这些东西是可能的,那么我就无法想到删除会失败的地方。最接近的是由于文件系统损坏,在这种情况下用户有更大的问题。