📅  最后修改于: 2023-12-03 14:51:36.187000             🧑  作者: Mango
该Java程序实现了基于扩展名查找并删除指定目录下的所有文件。
程序会提示用户输入要查找和删除的文件的扩展名,以及要搜索的目录。
程序会遍历指定目录下的所有文件,找到文件名以指定扩展名结尾的文件,并删除它们。
import java.io.File;
public static void main(String[] args) {
String extension = getExtensionFromUser(); // 从用户获取文件扩展名
File folder = getFolderFromUser(); // 从用户获取要搜索的目录
deleteFilesWithExtension(folder, extension); // 查找并删除指定扩展名的文件
System.out.println("删除完成");
}
该函数会提示用户输入要查找和删除的文件的扩展名,并返回用户输入的扩展名。
private static String getExtensionFromUser() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的文件扩展名(如:txt):");
return scanner.nextLine().toLowerCase(); // 获取用户输入并将其转换为小写
}
该函数会提示用户输入要搜索的目录,并返回代表该目录的File对象。
private static File getFolderFromUser() {
Scanner scanner = new Scanner(System.in);
File folder;
do {
System.out.print("请输入要搜索的目录:");
folder = new File(scanner.nextLine());
} while (!folder.isDirectory()); // 如果用户输入的不是目录,则循环提示用户继续输入
return folder;
}
该函数会查找指定目录下所有扩展名为指定扩展名的文件,并将它们删除。
private static void deleteFilesWithExtension(File folder, String extension) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.isFile() && file.getName().endsWith("." + extension)) {
System.out.println("正在删除 " + file.getPath());
file.delete();
} else if (file.isDirectory()) {
deleteFilesWithExtension(file, extension); // 如果当前文件是目录,则递归删除该目录下的文件
}
}
}
import java.io.File;
import java.util.Scanner;
public class FileDeleter {
public static void main(String[] args) {
String extension = getExtensionFromUser(); // 从用户获取文件扩展名
File folder = getFolderFromUser(); // 从用户获取要搜索的目录
deleteFilesWithExtension(folder, extension); // 查找并删除指定扩展名的文件
System.out.println("删除完成");
}
private static String getExtensionFromUser() { // 从用户获取要删除的文件扩展名
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的文件扩展名(如:txt):");
return scanner.nextLine().toLowerCase(); // 获取用户输入并将其转换为小写
}
private static File getFolderFromUser() { // 从用户获取要搜索的目录
Scanner scanner = new Scanner(System.in);
File folder;
do {
System.out.print("请输入要搜索的目录:");
folder = new File(scanner.nextLine());
} while (!folder.isDirectory()); // 如果用户输入的不是目录,则循环提示用户继续输入
return folder;
}
private static void deleteFilesWithExtension(File folder, String extension) { // 查找并删除指定扩展名的文件
File[] files = folder.listFiles();
for (File file : files) {
if (file.isFile() && file.getName().endsWith("." + extension)) {
System.out.println("正在删除 " + file.getPath());
file.delete();
} else if (file.isDirectory()) {
deleteFilesWithExtension(file, extension); // 如果当前文件是目录,则递归删除该目录下的文件
}
}
}
}