package com.caesolver.sftp; import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; public class FileUtil { /** 递归删除目录下的所有文件及子目录下所有文件 * @param filepath 将要删除的文件目录 */ public static void deleteDir(String filepath) { File f = new File(filepath);//定义文件路径 if(f.exists() && f.isDirectory()){//目录 if(f.listFiles().length==0){//若目录下没有文件则直接删除 f.delete(); }else{//若有则把文件放进数组,并判断是否有下级目录 File delFile[]=f.listFiles(); int i =f.listFiles().length; for(int j=0;j ListDataOutFiles(String path,String projectType) { List files =new ArrayList(); sonFiles(path, files,projectType); return files; } private static void sonFiles(String path, List files,String projectType) { File rootFile = new File(path); File[] listFiles=rootFile.listFiles(); if(listFiles!=null&&listFiles.length>0) { for (File file : listFiles) { if(file.isDirectory()) { sonFiles(file.getPath(),files,projectType); }else { switch (projectType) { case "hcfd": if(file.getParent().indexOf("data_out")>0) { files.add(file); }; break; case "fem": if(file.getParent().indexOf("data_out")>0) { files.add(file); } break; case "cfd": if(file.getName().endsWith(".out")) { files.add(file); } break; case "mpm": if(file.getParent().indexOf("dataout")>0) { files.add(file); } break; case "bladesign": if( file.getName().endsWith(".K")|| file.getName().endsWith(".v0")|| file.getName().endsWith(".opt")|| file.getName().endsWith(".ech")|| file.getName().endsWith(".v1S")|| file.getName().endsWith(".out")|| file.getParent().indexOf("OPT")>0 ) { files.add(file); } break; default: break; } } } } } }