英文:
Success write files to external storage, but can't delete folder
问题
在清单文件中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在我的ViewModel中:
init {
Debug.d(TAG, "init: call_loadOperationHistory()")
//loadOperationHistory()
val saveImagesDir =
AndroidUtil.getExternalStoragePath(getApplication<Application>().applicationContext)
if (saveImagesDir.exists()) {
val isDelete = saveImagesDir.delete()
Debug.d(
TAG,
"init: isDelete = " + isDelete + ", saveImagesDir_delete = " + saveImagesDir
)
}
}
以及在工具方法中:
public static File getExternalStoragePath(Context context) {
File root = context.getExternalFilesDir(null);
File savedImagePath = new File(root + "/saved_images");
return savedImagePath;
}
我成功将文件写入这个目录,但无法删除这个目录。
方法:
val isDelete = saveImagesDir.delete()
始终返回false。
英文:
android studio 3.6
in manifest:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
here my viewmodel:
init {
Debug.d(TAG, "init: call_loadOperationHistory()")
//loadOperationHistory()
val saveImagesDir =
AndroidUtil.getExternalStoragePath(getApplication<Application>().applicationContext)
if (saveImagesDir.exists()) {
val isDelete = saveImagesDir.delete()
Debug.d(
TAG,
"init: isDelete = " + isDelete + ", saveImagesDir_delete = " + saveImagesDir
)
}
}
and here util method:
public static File getExternalStoragePath(Context context) {
File root = context.getExternalFilesDir(null);
File savedImagePath = new File(root + "/saved_images");
return savedImagePath;
}
I success write files to this dir. But can't delete this dir.
Method:
val isDelete = saveImagesDir.delete()
always return false
答案1
得分: 3
提供读写权限并尝试以下操作:
File dir = new File("根路径");
FileUtils.deleteDirectory(dir);
在gradle文件中添加以下行以使用Apache库:
implementation 'org.apache.commons:commons-io:1.3.2'
英文:
Provide Read and Write permissions and Try with this:
File dir = new File("root path");
FileUtils.deleteDirectory(dir);
Add this line in gradle file to have Apache
implementation 'org.apache.commons:commons-io:1.3.2'
答案2
得分: 0
请在添加以下内容后再检查:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
权限以供清单使用。
英文:
Can you please check same once adding
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Permission to manifest
答案3
得分: 0
如果目录包含文件,则无法使用File类删除它。
首先清空它。
英文:
If the directory contains files then you cannot delete it with the File class.
Empty it first.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论