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 ){ // マッチしたファイルの絶対パスを格納する ListlistMatchedFiles = 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 件のコメント:
コメントを投稿