2012-05-18 50 views
2

我试图列出所有文件在我创建的目录中,当我创建目录时,我将每个联系人的文件转换为目录。然后我希望能够列出目录内/内的所有文件。我已经尝试了一切,包括如何列出自定义目录中的所有文件

String a = listFiles().tostring(); 

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

这里是我更新的代码

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

回答

1

你一定要看到这个教程how to build an android file browser它会帮助你很多!

one列表SD卡的所有文件夹和文件,你可以使其适应你需要在代码

+0

我不想要一个文件浏览器,这是完全没用的,因为我想看到里面的文件。 – TheBlueCat

+0

这与你的想法是一样的。显示目录中的文件列表相当于从根目录显示文件和目录树。你检查了链接2它列出的文件夹和SD卡中的文件它使用属性当前目录设置为 /sdcard /通过调用 currentDir =新文件(“/ sdcard /)你可以改变它为currentDir = new File (“/ sdcard /你的文件夹),你得到所需的文件夹中的所有子目录和文件 –

+0

我仍然不明白? – TheBlueCat

0

此代码改变currentDir的价值是什么旅行整个SD卡和列表文件。这可能对你有帮助..!

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 "); 



    } 
} 
相关问题