2017-06-28 13 views
0

public void walkdir(File dir){ 文字列pdfPattern = ".png";複数のファイルをスキャンする

File[] listFile = dir.listFiles(); 

    if (listFile != null) { 
     for (int i = 0; i < listFile.length; i++) { 

      if (listFile[i].isDirectory()) { 
       walkdir(listFile[i]); 
      } else { 
       if (listFile[i].getName().endsWith(pdfPattern)) { 

        scanFile(listFile);**Not working** 

       } 
      } 
     } 
    } 
} 

はので、どのように私はあなたがそのような.PNGなどの特定のファイル拡張子のためのディレクトリをスキャンしたいと考えてい

private void scanFile(String path) { 
     MediaScannerConnection.scanFile(MainActivity.this, 
       new String[]{path}, null, 
       new MediaScannerConnection.OnScanCompletedListener() { 

        public void onScanCompleted(String path, Uri uri) { 
         Log.wtf("ff", "ff"); 
        } 
       }); 

    } 

答えて

0

---画像

これでメディアスキャナ用のディレクトリをスキャンすることができます

あなたはこのようなことを試すことができます。より多くの情報のチェックのために

File dirs = new File(path); 
    FileFilter filter = new FileFilter() { 
    @Override 
    public boolean hasFiles(File file) { 
    return file.getAbsolutePath().matches(".*\\.png"); 
    } 
    }; 
    File[] images = dirs.listFiles(filter); 

FileFilter

0

スキャンこの

ArrayList<String> myFiles=new ArrayList<>(); 
private ArrayList<String> getImages(String Foldername){  

File vaultt = new File(Environment.getExternalStorageDirectory().toString() + "/"+ Foldername+"/"); 
     if (vaultt.exists()) { 
      Toast.makeText(this, "exist", Toast.LENGTH_SHORT).show(); 
      files = vaultt.listFiles(); 
      Log.e("vault location", vaultt.getAbsolutePath()); 
      for (File single : files) { 
       if (single.getAbsolutePath().endsWith(".jpg") || single.getAbsolutePath().endsWith(".JPG") || 
         single.getAbsolutePath().endsWith(".png") || single.getAbsolutePath().endsWith(".PNG") || 
         single.getAbsolutePath().endsWith(".jpeg") || single.getAbsolutePath().endsWith(".JPEG")) { 
        myFiles.add(single.getPath()); 
       } 
      } 
    return myFiles; 

} 

のようなフォルダ内の画像についても<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> in yout manifest file

+0

を追加することを忘れていけないが、私は(メディアスキャナー)をスキャンしますギャラリーに自動的に表示されるように –