如何在Android中删除文件夹
我在删除文件夹时遇到问题 我创建了文件夹和文件夹。删除返回false。为什么? 我在下面也试过。这将返回false,并且文件夹不会被擦除。为什么?如何在Android中删除文件夹,android,Android,我在删除文件夹时遇到问题 我创建了文件夹和文件夹。删除返回false。为什么? 我在下面也试过。这将返回false,并且文件夹不会被擦除。为什么? public static boolean deleteDirectory(File path) { if( path.exists() ) { File[] files = path.listFiles(); if (files == null) {
public static boolean deleteDirectory(File path) {
if( path.exists() ) {
File[] files = path.listFiles();
if (files == null) {
return true;
}
for(int i=0; i<files.length; i++) {
if(files[i].isDirectory()) {
deleteDirectory(files[i]);
}
else {
files[i].delete();
}
}
}
return( path.delete() );
}
公共静态布尔删除目录(文件路径){
if(path.exists()){
File[]files=path.listFiles();
if(files==null){
返回true;
}
对于(int i=0;i,受此解决方案启发:
我对它进行了如下改进,它对我起了作用:
private void deleteSubFolders(String uri)
{
File currentFolder = new File(uri);
File files[] = currentFolder.listFiles();
if (files == null) {
return;
}
for (File f : files)
{
if (f.isDirectory())
{
deleteSubFolders(f.toString());
}
//no else, or you'll never get rid of this folder!
f.delete();
}
}
注:
请注意传递的文件夹名称。例如:
File folder = new File("path/to/directory");
folder.getName()不一定等于完整路径目录名。受此解决方案启发:
我对它进行了如下改进,它对我起了作用:
private void deleteSubFolders(String uri)
{
File currentFolder = new File(uri);
File files[] = currentFolder.listFiles();
if (files == null) {
return;
}
for (File f : files)
{
if (f.isDirectory())
{
deleteSubFolders(f.toString());
}
//no else, or you'll never get rid of this folder!
f.delete();
}
}
注:
请注意传递的文件夹名称。例如:
File folder = new File("path/to/directory");
folder.getName()不一定等于完整路径目录名。您是否具有所需的权限?是的,我有。我正在内部存储器中保存和删除()权限android.permission.WRITE_INTERNAL_STORAGE不存在!嗯,我认为你甚至不需要在内部存储中写入权限。我实际上发布了我以前的应用程序,它在内部存储中保存得很好,但Google Play中没有出现此权限。我怀疑你现在是否需要权限在内部存储器中写入。StarsSky-那么你建议什么权限?你有所需的权限吗?是的,我有。我正在内部存储器中保存和删除()权限android.permission.WRITE_INTERNAL_STORAGE不存在!嗯,我认为你甚至不需要在内部存储中写入权限。我实际上发布了我以前的应用程序,它在内部存储中保存得很好,但Google Play中没有出现此权限。我怀疑你现在是否需要权限在内部存储器中写入。StarsSky-那么你建议什么权限?