Java查询文件夹下的文件,并返回文件的路径,文件名

Java查询文件夹下的文件,并返回文件的路径,文件名,第1张

Java查询文件下的文件,并返回文件的路径,文件名

1.在application.properties中配置文件的要查询文件的路径

 2.在service层调用路径

 3.根据文件路径判断文件夹是否存在,如果不存在或者不是文件夹直接返回null,如果文件夹内不存在文件也直接返回null

 4.遍历files集合,取出每一个文件的文件名和路径

 5.完整代码

注:完整代码是根据开始时间和结束时间截取时间区间中的每一天,并将时间转换成文件夹名称的字符串(20211105)拼接文件夹路径,for循环遍历每一个文件夹,查出每一个文件夹中的文件

 private Map getReadFolder(String param){
        Map  result=new HashMap<>();
        try {
            JSonObject jsonObject=JSONObject.parseObject(param);
            String filetype1=jsonObject.getString("filetype1");
            //将开始日期解析成字符串
            String date1=jsonObject.getString("startDate");
            //将结束日期解析成字符串
            String date2=jsonObject.getString("endDate");

            //将字符串转成日期
            SimpleDateFormat ss = new SimpleDateFormat("yyyy/MM/dd");
            Date startDate = ss.parse(date1);
            Date endDate = ss.parse(date2);

            List listDate = new ArrayList<>();
            //获取开始日期和结束日期循环遍历出区间的所有日期
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(startDate);
            SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");
            while (calendar.getTime().before(endDate) || calendar.getTime().equals(endDate)) {
                listDate.add(dateFormat.format(calendar.getTime()));
                calendar.add(Calendar.DAY_OF_MONTH, 1);
            }

            List listMap=new ArrayList<>();
            for (int j = 0; j  typeMap=new HashMap<>();
                if (filetype1.equals("12")){
                    // 定义一个文件路径
                    String dirFilePath=filepath1+fileName;
                    typeMap.put("dirFilePath",dirFilePath);
                }else {
                    // 定义一个文件路径
                    String dirFilePath=filepath2+fileName;
                    typeMap.put("dirFilePath",dirFilePath);
                }

                File dirFile=new File(typeMap.get("dirFilePath"));
                // 如果文件夹不存在或着不是文件夹,则返回 null
                if(Objects.isNull(dirFile) || !dirFile.exists() || dirFile.isFile()){
                    continue;
                }
                File[] childrenFiles =  dirFile.listFiles();
                if(Objects.isNull(childrenFiles) || childrenFiles.length == 0){
                    continue;
                }

                List files = new ArrayList<>();
                for(File childFile : childrenFiles) {
                    // 如果是文件,直接添加到结果集合
                    files.add(childFile);
                }

                List> list=new ArrayList<>();
                //遍历文件路径,截取文件名称
                for (int i = 0; i  map=new HashMap<>();
                    if(pos > -1){
                        map.put("fileTitle",fname.substring(0, pos));
                        map.put("filepath",files.get(i));
                        map.put("uploadtime",listDate.get(j));
                    }
                    list.add(map);
                }
                listMap.add(list);
            }
            Constants.getSuccMsg(result,listMap);
        } catch (Exception e) {
            e.printStackTrace();
            Constants.getErrMsg(result,"读取文件夹异常");
        }
        return result;
    }

 6.使用ApiPost测试接口

 7.返回的结果

{
	"msg": "succ",
	"code": "200",
	"data": [
		[
			{
				"filepath": "D:\shfh\file\BusinessTips211103\业务提示第一期.pdf",
				"fileTitle": "业务提示第一期",
				"uploadtime": "2021-11-03"
			},
			{
				"filepath": "D:\shfh\file\BusinessTips211103\业务提示第二期.pdf",
				"fileTitle": "业务提示第二期",
				"uploadtime": "2021-11-03"
			}
		],
		[
			{
				"filepath": "D:\shfh\file\BusinessTips211104\业务提示第三期.pdf",
				"fileTitle": "业务提示第三期",
				"uploadtime": "2021-11-04"
			},
			{
				"filepath": "D:\shfh\file\BusinessTips211104\业务提示第四期.pdf",
				"fileTitle": "业务提示第四期",
				"uploadtime": "2021-11-04"
			}
		]
	]
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5076153.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存