【问题标题】:how to list, files from a specified folder in the internal directory of android device如何列出来自android设备内部目录中指定文件夹的文件
【发布时间】:2014-11-20 20:07:31
【问题描述】:

我需要显示目录中指定文件夹中的文件 例如根路径是 Directory:/sdcard/GDM/ 如何列出此文件夹中的文件。

【问题讨论】:

    标签: java javascript android


    【解决方案1】:

    要从您的 sdcard 中获取文件列表,

    List<File> listFilesRoot = getFilesFromRoot(new File("YOUR PATH"));
    
    
    private List<File> getFilesFromRoot(File parentDir) {
            ArrayList<File> listFiles = new ArrayList<File>();
            File[] files = parentDir.listFiles();
            for (File file : files) {
                if (!file.isDirectory())  {
                        listFiles.add(file);
                }
            }
            return listFiles;
        }
    

    【讨论】:

      【解决方案2】:

      File 类为您提供了list() 方法:

      返回命名文件和目录的字符串数组 此抽象路径名表示的目录。如果这个抽象路径名 不表示目录,则此方法返回 null。否则 返回一个字符串数组,每个文件或目录对应一个 目录。表示目录本身和目录的名称 结果中不包含父目录。每个字符串都是一个文件 名称而不是完整路径。

      无法保证结果数组中的名称字符串 将以任何特定顺序出现;它们不是,特别是, 保证按字母顺序出现。

      因此,代码将类似于:

      File root = new File("/sdcard/GDM");
      String[] files = root.list();  
      if( files != null ){
       // do something
      }  
      

      更新:
      要获取文件的大小,您将需要 length() 方法。这将返回以字节为单位的大小。如果要以 MB 为单位,则需要将其除以 1024*1024

      File f = new File("/path/to/some/file");
      double sizeInMb = f.length() / (1024*1024);
      

      【讨论】:

      • 如何在列出时显示文件的大小。我也想在点击时打开文件。你会帮我吗
      • @visanthvichu 请检查更新。单击时打开文件取决于您向用户显示文件的方式。它在列表中吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      相关资源
      最近更新 更多