获取目录下的文件,删除文件名中包含关键字的文件
程序员文章站
2022-04-28 12:42:45
...
/**
* 获取目录下的文件
*
* @param realpath
* @param files
* @return
*/
public static List<File> getFiles(String realpath) {
List<File> files = new ArrayList<File>();
File realFile = new File(realpath);
// 判断为文件夹
if (realFile.isDirectory()) {
// 获取文件list
File[] subfiles = realFile.listFiles();
for (File file : subfiles) {
// 遍历判断为文件
if (file.isFile()) {
files.add(file);
}
}
}
return files;
}
/**
* 删除文件名含有关键字的文件
* @param fileList
* @param nameReg
* @return
*/
public static boolean deleteFilesMatchName(List<File> fileList, String nameReg) {
// 正则表达式
final String fileName = ".*" + nameReg + ".*";
for (int i = 0; i < fileList.size(); i++) {
// 是否匹配
boolean result = Pattern.compile(fileName)
.matcher(fileList.get(i).getName()).find();
// 保留匹配
if (result == true) {
fileList.get(i).delete();
}
}
return true;
}