【问题标题】:How to list all the files in a custom Directory如何列出自定义目录中的所有文件
【发布时间】:2012-05-18 18:46:03
【问题描述】:

我正在尝试列出我创建的目录中的所有文件,当我创建目录时,我会将每个联系人的文件扭曲到目录中。然后我希望能够列出目录内/内的所有这些文件。我已经尝试了一切,包括

String a = listFiles().tostring();

然而,什么都没有发生。总结一下,我想列出 SD 卡中自定义目录中的所有文件。

这是我的更新代码

String path = Environment.getExternalStorageDirectory().getAbsolutePath();
FileInputStream iStream =  new FileInputStream(path);
String read = path.getbytes().tostring();

【问题讨论】:

    标签: android file directory dir


    【解决方案1】:

    你一定要看看这个教程how to build an android file browser对你有很大帮助!!

    one 列出了 sdcard 中的所有文件夹和文件,您可以通过更改代码中 currentDir 的值来调整它以适应您的需要

    【讨论】:

    • 我不想要文件浏览器,这完全没用,因为我想查看里面的文件。
    • 和你的想法一样 show list of files in a directory 相当于从根目录显示文件树和目录。您是否检查了链接 2 它列出了 sdcard 中的文件夹和文件它使用属性当前目录设置为 /sdcard/ 通过调用 currentDir = new File("/sdcard/) 您可以将其更改为 currentDir = new File(" /sdcard/your folder),然后您将获得所需文件夹中的所有子目录和文件
    • 你不理解第二个链接中的代码或我在说什么!!
    • 没有,需要用到哪些功能?
    • currentDir = new File("/sdcard/TheBlueCat");
    【解决方案2】:

    此代码是遍历整个 sdcard 和列表文件。这可能对你有帮助..!

    import java.io.*;
    import java.util.*;
    public class DirUtils {
    
      public static List recurseDir(String dir) {
          String result, _result[];
    
          result = recurseInDirFrom(dir);
          _result = result.split("\\|");
          return Arrays.asList(_result);
      }
    
      private static String recurseInDirFrom(String dirItem) {
        File file;
        String  result,list[];
    
        result = dirItem;
    
        file = new File(dirItem);
        if (file.isDirectory()) {
          list = file.list();
          File[] fileslist = file.listFiles(new MyDocFileFilter());
        if (fileslist != null) {
          for (File file1: fileslist) {
            System.out.println(file1.getAbsolutePath());
          }
        } 
        else {
          System.out.println("No Subdirectory Found.");
        }
          for (int i = 0; i < list.length; i++)
            result = result + "\n" + recurseInDirFrom(dirItem + File.separatorChar + list[i]);
          }
        return result;
      }
    
     static class MyDocFileFilter implements FileFilter
    {
      private final String[] myDocumentExtensions 
                   = new String[] {".java", ".png", ".html", "class"};
    
      public boolean accept(File file) {
    
        if (!file.isFile())
            return false;
    
        for (String extension : myDocumentExtensions) {
          if (file.getName().toLowerCase().endsWith(extension))
            return true;
        }
        return false;
      }
    }
    
      public static void main(String arg[]) {
        DirUtils.recurseDir("your path ");
    
    
    
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2014-03-08
      • 2016-02-26
      相关资源
      最近更新 更多