Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中删除文件夹_Android - Fatal编程技术网

如何在Android中删除文件夹

如何在Android中删除文件夹,android,Android,我在删除文件夹时遇到问题 我创建了文件夹和文件夹。删除返回false。为什么? 我在下面也试过。这将返回false,并且文件夹不会被擦除。为什么? public static boolean deleteDirectory(File path) { if( path.exists() ) { File[] files = path.listFiles(); if (files == null) {

我在删除文件夹时遇到问题

我创建了文件夹和文件夹。删除返回false。为什么?

我在下面也试过。这将返回false,并且文件夹不会被擦除。为什么?

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-那么你建议什么权限?