2012-05-18 45 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 "); 



    } 
} 
相關問題