遍历SD卡或者具体文件夹下面具体的文件的实现

首先写一个方法

//递归的方式
//别忘记开启读取sd卡的权限

public void froDir(File dir) {
    //获得所有文件(这里面包括了文件夹和文件)
    File[] files = dir.listFiles();
    for (File file : files) {
        //增强for循环来打印文件路径
        if (file.isDirectory()) {
            froDir(file);
        } else {
            //打印文件路径
            String s = file.getAbsolutePath().toLowerCase();
            if (s.endsWith(".jpg")){
                Log.e("MyClass", s);
            }
        }
    }
}
 
  
当我们要用到这个方法的时候只需要给给一个File就可以了,如下图所示
 
  
 
  
File storageDirectory = Environment.getExternalStorageDirectory();
froDir(storageDirectory);
 
  
这里需要注意的是这个storageDirectory其实是一个默认的目录就是根目录,当我们通过log打印出来这个根目录的时候,这个字符串是
 
  
/storage/emulated/0 

 
  这样我们就相当于遍历了手机内部内存卡里面的所有数据 
  

那我们想遍历一个我们知道的文件路径的文件夹该怎么办呢,,如下图所示

File file=new File("/storage/extSdCard");
froDir(file);
 
  
通过这样的方式,,就可以遍历指定的目录的文件夹下面所有的以。jpg结尾的数据


你可能感兴趣的:(Android)