SDカードのすべてのフォルダーとサブフォルダーを取得したい。たとえば、フォルダ名を作成しましたtempfolder
。のフルパスを取得したい場合はtempfolder
、mnt/sdcard/folder/tempfolder
. フォルダがSDカードに保存されている場所がわからないが、フォルダの名前はわかっている場合。
フォルダ名に基づいてフォルダのフル パスを取得することは可能ですか。誰かが解決策を知っているなら、私を助けてください。
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());
}
次のことができます。
//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 }
}
これをチェックしてください。お役に立てると思います。
File file[] = Environment.getExternalStorageDirectory().listFiles();
for (File f : file)
{
if (f.isDirectory()) {
Log.i("Name", f.getPath()+"");
}
}
ありがとう
このコードを試してください:
for (File file : folder.listFiles()) {
if (file.isFile()) {
Log.v("Folders on the sd card are: ", folder.getName() + " in path " + folder.getAbsolutePath());
}