递归调用的方式遍历SD卡上的所有图片

	private ArrayList<String> imgPath=new ArrayList<String>();   //定义一个数组用于保存文件路径
	
	private static String[] imageFormat=new String[]{"jpg","bmp","gif"};      //定义图片格式
	
	private boolean isImageFile(String path){                                       //判断是否为图片文件的方法
		for (String format:imageFormat){
			if (path.contains(format)){                                 //如果文件名字包含定义的格式后缀,则返回true
				return true;
			}
			
		}
		return false;
	}
	
	private void getSdCardImgFile(String url){                   //获取指定路径下的指定格式图片文件,传入路径参数
		File files=new File(url);		//新定义一个文件,路径则为传入的url
		File[] file=files.listFiles();			//遍历该文件所有的子文件夹生成文件夹数组
		for (File f:file){				//for循环遍历到文件数组
			if(f.isDirectory()){			//如果为文件夹,则递归调用此方法遍历子文件夹
				getSdCardImgFile(f.getAbsolutePath());	//递归调用
			}else {
				if (isImageFile(f.getPath())){	//如果文件是图片文件
					
					imgPath.add(f.getAbsolutePath());//获取绝对路径,返回到定义好的数组中。
				}
			}
		}
	}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值