Android回顾之SD卡文件扫描

在Android开发过程中,有时需要扫描SD卡下的所有文件,需要过滤掉文件夹。

这里,用递归的思想进行:

1.传入文件夹名;

2.扫描文件夹下文件;

3.如果是文件,存入list显示;如果是文件夹,重复1

代码如下:

public List<Map<String, Object>> getList() {
	List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
	String sDStateString = Environment.getExternalStorageState();
	if (sDStateString.equals(Environment.MEDIA_MOUNTED)) {
		File SDFile = Environment.getExternalStorageDirectory();
		File sdPath = new File(SDFile.getAbsolutePath());
		list = getFile(sdPath);
	}
	return list;
}
public List <Map<String, Object>> getFile(File pathFile){
	List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
	if(pathFile.canRead()&&pathFile.listFiles().length>0){
		for (File aboveFile : pathFile.listFiles()) {
			if(aboveFile.isDirectory()){
				Log.i("Folder",aboveFile.getParent() +"/" +aboveFile.getName()+"is folder");
				List<Map<String, Object>> list1 = getFile(aboveFile);
				for(Map<String, Object> map1 : list1 ){
					list.add(map1);
				}
			}
			else {
				Map<String, Object> map = new HashMap<String, Object>();
				map.put("text_content", aboveFile.getParent() +"/" + aboveFile.getName());
				list.add(map);
				Log.i("File","name-->" +aboveFile.getParent() +"/" + aboveFile.getName());
			}
		}
	}
	return list;
}

具体实现( 下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值