1.在application.properties中配置文件的要查询文件的路径
2.在service层调用路径
3.根据文件路径判断文件夹是否存在,如果不存在或者不是文件夹直接返回null,如果文件夹内不存在文件也直接返回null
4.遍历files集合,取出每一个文件的文件名和路径
5.完整代码
注:完整代码是根据开始时间和结束时间截取时间区间中的每一天,并将时间转换成文件夹名称的字符串(20211105)拼接文件夹路径,for循环遍历每一个文件夹,查出每一个文件夹中的文件
private MapgetReadFolder(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
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" } ] ] }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)