我希望我的应用程序的用户能够删除DCIM文件夹(位于SD卡上并包含子文件夹)。
这是可能的吗,如果是的话,是如何实现的呢?
发布于 2011-02-09 18:45:02
首先我要告诉你,你不能删除DCIM文件夹,因为它是一个系统文件夹。当您在电话上手动删除它时,它将删除该文件夹的内容,但不会删除DCIM文件夹。您可以通过以下方法删除其内容:
根据评论更新了
File dir = new File(Environment.getExternalStorageDirectory()+"Dir_name_here");
if (dir.isDirectory())
{
String[] children = dir.list();
for (int i = 0; i < children.length; i++)
{
new File(dir, children[i]).delete();
}
}发布于 2011-06-21 21:09:40
您可以像这样递归删除文件和文件夹:
void deleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory())
for (File child : fileOrDirectory.listFiles())
deleteRecursive(child);
fileOrDirectory.delete();
}发布于 2011-03-16 15:53:13
我们可以使用命令行参数来删除整个文件夹及其内容。
public static void deleteFiles(String path) {
File file = new File(path);
if (file.exists()) {
String deleteCmd = "rm -r " + path;
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec(deleteCmd);
} catch (IOException e) { }
}
}上面代码的用法示例:
deleteFiles("/sdcard/uploads/");https://stackoverflow.com/questions/4943629
复制相似问题