我正在尝试删除已知路径中存在的所有文件。
我已经使用了下一个功能 -
public void deleteAllImages(){
Log.d(TAG, "ENTERD DELETED ALL IMAGES ");
String path = "/data/data/yourapp/app_data/imageDir/";
File directory = new File(path);
if (directory.isDirectory()){
Log.d(TAG, "ENTERED IF ");
for (File child : directory.listFiles()){
Log.d(TAG, "ENTERED FOR "+ child);
child.delete();
}
}
}
但似乎它从未进入if语句 - 猜测它意味着它不会将目录视为一个。那么我在这里做错了什么?
答案 0 :(得分:2)
path
很可能不正确。在以下情况下,isDirectory()
将返回false
:
路径指向文件(显然),而不指向目录。
路径 无效(即没有这样的文件/目录存在)。
有 没有足够的权限授予您的应用程序来确定 路径是否指向目录。
答案 1 :(得分:0)
试试这个:
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
new File(dir, children[i]).delete();
}
}
希望这有帮助。
答案 2 :(得分:0)
试试这个......
String path = "/data/data/yourapp/app_data/imageDir/";
File file = new File(path);
if(file.isDirectory()) {
File[] files = file.listFiles();
if(files != null && files.length > 0) {
for (File file2 : files) {
file2.delete();
}
}
}