//aa为类对象
本例子 目录结构为 G:\\group2\\日期目录ArrayList<String> folderLastDate = aa.getFolderLastDate("G:\\group2");
long temp=0;
//找出最大的时间目录
for (int i = 0; i <folderLastDate.size() ; i++) {
String path = folderLastDate.get(i);
long pathValue;
try{
pathValue= Long.parseLong(path);
if(temp<=pathValue){
temp=pathValue;
}
}catch (Exception e){
System.out.println("请按照规则放置目录,文件夹格式为:年月日20 例如:2020011220");
}
}
System.out.println(temp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH");
Date parse = sdf.parse(String.valueOf(temp));
//Date 转成 LocalDate 类型
LocalDate taskLocalDate=parse.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
System.out.println(taskLocalDate);
//aa为类对象
ArrayList<File> files = aa.getListFiles("G:\\8888");
// SystemUtil.printFilesFilePath(files);
for (int i = 0; i <files.size() ; i++) {
System.out.println(files.get(i).getPath());
}
-------------------------------------------------------------------
private ArrayList<File> getListFiles(Object obj) {
File directory = null;
if (obj instanceof File) {
directory = (File) obj;
} else {
directory = new File(obj.toString());
}
ArrayList<File> files = new ArrayList<File>();
int levle;
if (directory.isFile()) {
files.add(directory);
return files;
} else if (directory.isDirectory()) {
File[] fileArr = directory.listFiles();
for (int i = 0; i < fileArr.length; i++) {
File fileItem = fileArr[i];
//是目录而且是以20结尾的目录或以1111结尾的目录
if(fileItem.isDirectory() && (fileItem.getName().endsWith("20") || fileItem.getName().equals("1111")
)) {
files.addAll(getListFiles(fileItem));
//不是目录
}else if(!fileItem.isDirectory()){
String fileName=fileItem.getName();
//文件以222或333或444 并以.png结尾的文件
if((fileName.startsWith("222") && fileName.endsWith(".png")) ||
(fileName.startsWith("333") && fileName.endsWith(".png")) ||
(fileName.startsWith("444") && fileName.endsWith(".png"))){
files.addAll(getListFiles(fileItem));
}
}
}
}
return files;
}
-------------------------------------------------------------------------
//抽取时间目录
private ArrayList<String> getFolderLastDate(Object obj){
File directory = null;
if (obj instanceof File) {
directory = (File) obj;
} else {
directory = new File(obj.toString());
}
ArrayList<String> FolderPath = new ArrayList<String>();
if (directory.isDirectory()) {
File[] fileArr = directory.listFiles();
for (int i = 0; i < fileArr.length; i++) {
File fileItem = fileArr[i];
//是目录而且是以20结尾的目录
if(fileItem.isDirectory() && (fileItem.getName().endsWith("20"))
) {
FolderPath.add(fileItem.getName());
}
}
}
return FolderPath;
}