如何列出自定义目录中的所有文件

时间:2012-05-18 18:46:04

标签: android file directory dir

我正在尝试列出我所创建的目录中的所有文件,当我创建目录时,我将每个联系人的文件变形为dir。然后,我希望能够列出目录内/内的所有文件。我尝试了一切,包括

String a = listFiles().tostring();

然而,没有任何反应。总结一下,我想列出SD卡中自定义目录中的所有文件。

这是我的更新代码

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

2 个答案:

答案 0 :(得分:1)

你必须看到这个教程how to build an android file browser它会对你有很大的帮助!!

one列出sdcard中的所有文件夹和文件,您可以通过更改代码中 currentDir 的值来使其适应您所需的内容

答案 1 :(得分:0)

此代码是整个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 ");



  }
}