java 删除文件夹和子文件夹中的指定文件
我是刚刚进入这个公司,我师父给我出了一道题,就是一个文件夹中有很多子文件夹,这些文件夹或者子文件夹中可能有很多名字叫"aa.txt"的文件,写一个java程序一次删除所有...
我是刚刚进入这个公司,我师父给我出了一道题,就是一个文件夹中有很多子文件夹,这些文件夹或者子文件夹中可能有很多名字叫"aa.txt"的文件,写一个java程序一次删除所有的aa.txt文件,请说的详细点,注解多点,谢谢了
能把程序贴上来吗 展开
能把程序贴上来吗 展开
展开全部
1、得到要删除aa.txt文件的根目录,可以用JFileChooser选择,也可以写死。
2、遍历、删除。
(1)取得目录以后,遍历其下面所有的文件夹和文件。
碰到文件时,判断其名称是否为aa.txt,如果是,删除,如果不是继续遍历,
碰到文件夹(目录)时,调用本身从(1)开始遍历该目录,完成后继续遍历。
这个需要用到递归,所以不确定你能不能理解,我实现了一下,如下:
import java.io.File;
public class DeleteAA {
public static void main(String[] args) {
DeleteAA aa=new DeleteAA();
aa.delete(new File("D:\\0526"));
}
private void delete(File file){
if(file.isDirectory()){
File[] files = file.listFiles();
for (File file2 : files) {
delete(file2);
}
}else{
String name=file.getName();
if("aa.txt".equals(name)){
System.out.println(file.getAbsolutePath());
file.delete();
}
}
}
}
2、遍历、删除。
(1)取得目录以后,遍历其下面所有的文件夹和文件。
碰到文件时,判断其名称是否为aa.txt,如果是,删除,如果不是继续遍历,
碰到文件夹(目录)时,调用本身从(1)开始遍历该目录,完成后继续遍历。
这个需要用到递归,所以不确定你能不能理解,我实现了一下,如下:
import java.io.File;
public class DeleteAA {
public static void main(String[] args) {
DeleteAA aa=new DeleteAA();
aa.delete(new File("D:\\0526"));
}
private void delete(File file){
if(file.isDirectory()){
File[] files = file.listFiles();
for (File file2 : files) {
delete(file2);
}
}else{
String name=file.getName();
if("aa.txt".equals(name)){
System.out.println(file.getAbsolutePath());
file.delete();
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询