Androidでファイルリストを取得するには…
/**
* pathのディレクトリ内にあるextensionの拡張子ファイルを再帰的に取得する
* @param path
* @param ext
* @return
*/
@SuppressWarnings(“unused”)
public static String[] LoadPathFiles(String path, final String[] ext ){
List<String> list = new ArrayList<String>();File dir = new File(path);
if( dir == null ){
Log.d( “SelectPicture:LoadPathPicture”, “pathに指定されたディレクトリは存在しない可能性があります。paht:” + path );
return null;
}File[] files = dir.listFiles( getFileExtension(ext) );
if( files != null && files.length > 0){
//ファイルが存在していた時のみ処理を行う
for( int n = 0; n < files.length; n ++){if( files[n].isDirectory() ) {
//ディレクトリの場合再帰的に検索する
String[] ret = LoadPathFiles(files[n].getPath(), ext);
///*
if( ret != null ){
for( int na = 0; na < ret.length; na ++) list.add( ret[na].toString() );
}
//*/
continue;
}
list.add( files[n].getPath() );
}
}
String[] res =list.toArray( new String[list.size()]);
return res;
}public static FilenameFilter getFileExtension(String[] exts){
final String[] extensions = exts;
return new FilenameFilter(){
public boolean accept(File file, String name ){
//ディレクトリ判別
File tmp = new File( file.getPath() + “/” + name );
if( tmp.isDirectory() ) {
return true;
}
//拡張子判別
/*
if( name.endsWith(“jpeg”) || name.endsWith(“jpg”) ) return true;
return false;
*/
///*
for( int n = 0; n < extensions.length; n ++ ){
if( name.endsWith(extensions[n]) ) return true;
}
return false;
//*/
}
};
}
こうなる