2012-05-18 2 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 список все папки и файлы в SDCard вы можете адаптировать его к тому, что вам необходимо, изменив значение currentDir в коде

+0

Я не хочу браузер файлов, и это абсолютно бесполезно, поскольку я хочу видеть файлы внутри. – TheBlueCat

+0

Это та же идея, что и ваш список файлов в каталоге, эквивалентен отображению дерева файлов и каталога из корневого каталога. вы проверили ссылку 2 его папку и файлы в sdcard, она использует текущий каталог атрибута, который установлен в /sdcard /, вызывая currentDir = new File ("/ sdcard /), вы можете изменить его на currentDir = new File («/ sdcard/ваша папка), и вы получите все подкаталоги и файлы в нужную вам папку –

+0

Я все еще не понимаю? – TheBlueCat

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



    } 
}