清理文件夹的小工具
晚上整理电脑的时候,发现内存不多了
1.查看文件夹后才知道有好多视频软件,看过了没有删除,但是一个一个的删除很麻烦,就写了一个小工具,顺带回顾了一下File的知识点。
直接上代码
public class DeleteVideo {
@Test
public void testDelete() throws Exception {
//创建文件加对象:这是需要清理的文件夹
File fatherFile = new File("D:\\JAVA\\JAVA学习材料");
if (fatherFile.exists()) {
deleteVideo(fatherFile);
}
}
public static void deleteVideo(File file) {
String suffix = file.getName().substring(file.getName().lastIndexOf(".")+1);
//删除后缀是avi结尾的视频文件
if (file.isFile()&&suffix.equals("avi")) {
//自杀
System.out.println(file.getAbsolutePath());
file.delete();
//是文件夹
}else if (file.isDirectory()&&file.exists()) {
File[] listFiles = file.listFiles();
for (File file2 : listFiles) {
deleteVideo(file2);
}
}
}
}
2.当每次都需要删除几个固定文件下面的所有文件时,比如每天都需要更新的文件夹【收集组内每天的材料,要删除前一天的所有材料】
再上代码
//文件夹1、文件夹2是我需要删除的文件夹名称
public class DeleteWork {
public static void main(String[] args) {
//创建根文件加对象
File fatherFile = new File("C:\\Users\\Desktop\\ddd");
traversal(fatherFile);
}
/**
* @Description:(遍历文件夹)
* @param:@param file2
* @return:void
* @author:笑烂脸
* @date:2020年9月11日
* @version:V1.0
*/
private static void traversal(File file) {
if (file.isDirectory()&&(!("文件夹1".equals(file.getName())||"文件夹2".equals(file.getName())))){
File[] listFiles2 = file.listFiles();
for (File file2 : listFiles2) {
//继续遍历
traversal(file2);
}
}if (file.isDirectory()&&("文件1".equals(file.getName())||"文件2".equals(file.getName())))) {
//删除所有子文件
delete(file);
System.out.println(file.getName());
}
}
/**
* @Description:(删除这个文件夹的所有文件)
* @param:@param file
* @return:void
* @author:笑烂脸
* @date:2020年9月11日
* @version:V1.0
*/
private static void delete(File file) {
if (file.exists()&&file.isDirectory()) {
File[] listFiles = file.listFiles();
for (File file2 : listFiles) {
if (file2.exists()&&file2.isFile()) {
//是文件就自杀
file2.delete();
}else if (file2.isDirectory()) {
//删除所有的子文件
delete(file2);
//删除空文件夹
file2.delete();
}
}
}
}
}
最后再偷个懒:每次都需要去eclipse运行不方便==>导出生成可运行文件
直接上图