1

SDカードのすべてのフォルダーとサブフォルダーを取得したい。たとえば、フォルダ名を作成しましたtempfolder。のフルパスを取得したい場合はtempfoldermnt/sdcard/folder/tempfolder. フォルダがSDカードに保存されている場所がわからないが、フォルダの名前はわかっている場合。

フォルダ名に基づいてフォルダのフル パスを取得することは可能ですか。誰かが解決策を知っているなら、私を助けてください。

4

4 に答える 4

4

FileFilterルートからすべてのディレクトリを検索するために使用できます。

    String dirName= "mnt/sdcard/";

    File dir = new File(dirName);

    File[] files = (new File(dirName)).listFiles();

    // This filter only returns directories
    FileFilter dirFilter = new FileFilter() {
        public boolean accept(File dir) {
            return dir.isDirectory();
        }
    };

    files = dir.listFiles(dirFilter);

    for (int i=0; i<files.length; i++) {
        if(files[i].getAbsolutePath().contains("tempfolder"))
          System.out.println("directory path : " + files[i].getAbsolutePath());
    }
于 2012-06-13T09:35:37.677 に答える
3

次のことができます。

    //get the path of the sdcard and enter all the files to an array file
        File[] file = Environment.getExternalStorageDirectory().listFiles();  


        for (File f : file)
        {
            if (f.isDirectory()) { 
                 file[] innerFiles = f.listFiles();

                 for(int i=0; i< innerFiles.length;i++){
                   Log.i("Name", innerFiles[i].getPath() + "");
                 }
        }

            if (f.isFile()) { ... do stuff }
        }
于 2012-06-13T09:22:29.673 に答える
0

これをチェックしてください。お役に立てると思います。

    File file[] = Environment.getExternalStorageDirectory().listFiles();  


    for (File f : file)
    {
        if (f.isDirectory()) { 

            Log.i("Name", f.getPath()+"");
        }
    }

ありがとう

于 2012-06-13T09:27:00.363 に答える
-1

このコードを試してください:

for (File file : folder.listFiles()) {
    if (file.isFile()) {
       Log.v("Folders on the sd card are:  ", folder.getName() + " in path " + folder.getAbsolutePath());
    }
于 2012-06-13T09:17:29.297 に答える