1、使用递归遍历D:\a目录下所有的文件或文件夹
package cn.itsqq.main;
import java.io.File;
/**
* 递归遍历目录名称
*/
public class Demo6 {
public static void main(String[] args) {
File file=new File("D:\\a");
getAllFileName(file);
}
public static void getAllFileName(File file){
System.out.println("A==="+file.toString());
File[] files = file.listFiles();
for (File f1 : files) {
if(f1.isDirectory()){
getAllFileName(f1);//递归
}else {
System.out.println(f1);
}
}
}
}
2、使用递归删除D:\a目录下所有的文件或文件夹
package cn.itsqq.main;
import java.io.File;
/**
* 递归删除目录名称
*/
public class Demo6 {
public static void main(String[] args) {
File file=new File("D:\\a");
getAllFileName(file);
}
public static void getAllFileName(File file){
File[] files = file.listFiles();
for (File f1 : files) {
if(f1.isDirectory()){
getAllFileName(f1);//递归
f1.delete();//递归到最后为空然后删除空文件夹
}else {
f1.delete();
}
}
}
}
3、使用递归搜索D:\a目录下指定的文件或文件夹
package cn.itsqq.main;
import java.io.File;
/**
* 搜索文件
*/
public class Demo7 {
public static void main(String[] args) {
getAllDir(new File("D:\\a"),".java");//搜索以“.java”后缀结尾的文件
}
/**
* @param file 文件
* @param str 结尾标志
*/
public static void getAllDir(File file,String str){
//System.out.println(file);
File[] files = file.listFiles();
for (File f1 : files) {
if(f1.isDirectory()){
getAllDir(f1,str);
}else {
String name = f1.getName();//获取文件名
name = name.toLowerCase();//不区分大小写
boolean b1 = name.endsWith(str);//判断文件结尾是否是str
if(b1){
System.out.println(f1);//如果文件结尾是str则打印输出
}
}
}
}
}
网友评论