通常使用递归的方式遍历内存中的所有文件
首先遍历所有文件的方法
//遍历手机所有文件 并将路径名存入集合中 参数需要 路径和集合 public void recursionFile(File dir, List<String> images) { //得到某个文件夹下所有的文件 File[] files = dir.listFiles(); //文件为空 if (files == null) { return; } //遍历当前文件下的所有文件 for (File file : files) { //如果是文件夹 if (file.isDirectory()) { //则递归(方法自己调用自己)继续遍历该文件夹 recursionFile(file,images); } else { //如果不是文件夹 则是文件 //如果文件名以 .mp3结尾则是mp3文件 if (file.getName().endsWith(".jpg")) { //往图片集合中 添加图片的路径 images.add(file.getAbsolutePath()); } } } }
然后调用该遍历方法得到自己想要的内容
//找到所有图片(实则为图片所在地址) 并存入集合中 public ArrayList<String> getimages() { //获得外部存储的根目录 File dir = Environment.getExternalStorageDirectory(); ArrayList<String> images = new ArrayList<String>(); //调用遍历所有文件的方法 recursionFile(dir,images); //返回文件路径集合 return images; }
最后别忘记了在AndroidManifest.xml文件中加上对手机内存的访问权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>