【问题标题】:How to find the empty sub_folder and delete the empty sub_folder using android?如何使用android找到空的子文件夹并删除空的子文件夹?
【发布时间】:2015-12-11 09:19:28
【问题描述】:

我是否正在使用文件概念使用 android 创建示例应用程序,

以下步骤是:

--- 1.我给父文件夹名称“默认”

--- 2. 找到父文件夹到子文件夹。

--- 3. 列出子文件夹文件。

--- 4. 删除清空子文件夹

我将完成三个步骤,问题是如何找到子文件夹是空的给我一个解决方案?

示例代码:

  File filefirst = new File("/storage/sdcard0/Parentfoldername/");
            String[] names = filefirst.list();

            for (String name : names) 
            {
                if (new File("/storage/sdcard0/Parentfoldername/" + name).isDirectory()) {

                    File directory = new File("/storage/sdcard0/Parentfoldername/" + name);
                    //get all the files from a directory
                    File[] fList = directory.listFiles();
                    for (File file : fList) {

                        if (file.isFile()) 
                        {
                       if (directory.isDirectory()) 
                          {
                              String[] children = directory.list();
                            for (int i = 0; i < children.length; i++)
                             {

                                  new File(directory, children[i]).delete();

                             }

                          }


                        }
                    }
                }
            }

此代码就像删除文件中的子文件夹一样,删除的子文件夹不是文件夹是文件,而是空的子文件夹不会被删除。

【问题讨论】:

标签: java android android-file file-manager


【解决方案1】:
public class Utils {
  /**
   * Empty and delete a folder (and subfolders).
   * @param folder
   *            folder to empty
   */
  public static void rmdir(final File folder) {
      // check if folder file is a real folder
      if (folder.isDirectory()) {
          File[] list = folder.listFiles();
          if (list != null) {
              for (int i = 0; i < list.length; i++) {
                  File tmpF = list[i];
                  if (tmpF.isDirectory()) {
                      rmdir(tmpF);
                  }
                  tmpF.delete();
              }
          }
          if (!folder.delete()) {
            System.out.println("can't delete folder : " + folder);
          }
      }
  }
}

【讨论】:

  • 感谢代码 praveens,它删除了父文件夹中的所有子文件夹,但我只需要删除空文件夹...:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 2010-12-22
  • 2015-04-24
  • 1970-01-01
  • 2015-01-21
  • 2020-07-23
相关资源
最近更新 更多