2019 May 26.
- package YOUR.PACKAGE.APPLICATION;
- /*
- * Re-use of https://akira-watson.com/android/file_search.html
- */
- import android.os.Environment;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- public class SearchExternalStorageFile {
- // 外部ストレージ内のfileStrにマッチするファイルを検索
- public String[] searchFiles( String fileStr ){
- // マッチしたファイルの絶対パスを格納する
- List
listMatchedFiles = new ArrayList<>(); // String 型の ArrayList を生成 List listDirectory = new ArrayList<>(); // 外部ストレージのパスを取得する、パスは機種によって異なる File file = Environment.getExternalStorageDirectory(); String storagePath = file.getPath(); listDirectory.add(storagePath); int m = 0; int n = 0; String[] fileNames; String imgPath = null, fName; while(listDirectory.size() > m){ File directory = new File(listDirectory.get(m)); fileNames = directory.list(); n = 0; while(fileNames.length > n){ File subFile; subFile = new File(directory.getPath() + "/" + fileNames[n]); if (subFile.isDirectory()) { listDirectory.add(directory.getPath() + "/" + fileNames[n]); } else { if (fileNames[n].contains(fileStr)) { listMatchedFiles.add(directory.getPath() + "/" + fileNames[n]); } } n++; } m++; } int listSize = listMatchedFiles.size(); return listMatchedFiles.toArray(new String[listSize]); } }
0 件のコメント:
コメントを投稿