12


私はいくつかのファイルを含むSDカードのフォルダを持っています。今、私はそのファイルの名前を取得する必要があります。誰かがSDカードに保存されているファイル名を取得する方法を知っていますか?

どんな助けでも感謝するでしょう。どうもありがとう。

4

5 に答える 5

24

Environment.getExternalStorageDirectoryFileSDCARDに対応するものを提供します。次に、Fileメソッドを使用する必要があります。

それはそのようなものでなければなりません:

File sdCardRoot = Environment.getExternalStorageDirectory();
File yourDir = new File(sdCardRoot, "yourpath");
for (File f : yourDir.listFiles()) {
    if (f.isFile())
        String name = f.getName();
        // make something with the name
}

アドバイスのちょっとしたメモ:KitKat以降から、これにはREAD_EXTERNAL_STORAGE許可が必要です。

于 2010-12-30T08:53:22.407 に答える
2
/**
 * Return list of files from path. <FileName, FilePath>
 *
 * @param path - The path to directory with images
 * @return Files name and path all files in a directory, that have ext = "jpeg", "jpg","png", "bmp", "gif"  
 */
private List<String> getListOfFiles(String path) {

    File files = new File(path);

    FileFilter filter = new FileFilter() {

        private final List<String> exts = Arrays.asList("jpeg", "jpg",
                "png", "bmp", "gif");

        @Override
        public boolean accept(File pathname) {
            String ext;
            String path = pathname.getPath();
            ext = path.substring(path.lastIndexOf(".") + 1);
            return exts.contains(ext);
        }
    };

    final File [] filesFound = files.listFiles(filter);
    List<String> list = new ArrayList<String>();
    if (filesFound != null && filesFound.length > 0) {
        for (File file : filesFound) {
           list.add(file.getName());
        }
    }

    return list;
}

これにより、フォルダ内の画像のリストが表示されます。コードを変更して、すべてのファイルを取得できます。

于 2010-12-30T08:53:30.977 に答える
0

FOLDERの特定のパスからすべてのファイルとフォルダーを取得する場合は、このコードを使用すると役立ちます

String path="/mnt/sdcard/dcim";  //lets its your path to a FOLDER

String root_sd = Environment.getExternalStorageDirectory().toString();
File file = new File(path) ;       
File list[] = file.listFiles();
  for(File f:list)
    {
       filename.add(f.getName());//add new files name in the list
     }              
于 2014-04-26T15:32:30.190 に答える
0
 ArrayList<String>nameList = new ArrayList<String>();
 File yourDir = new File(Environment.getExternalStorageDirectory(), "/myFolder");
 for (File f : yourDir.listFiles()) 
 {
    if (f.isFile())
    {
       nameList.add(f.getName);
    }

}
于 2013-09-05T09:13:13.300 に答える