1:需求:递归删除带内容的目录 假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出
package work1;
import java.io.File;
public class Work1 {
public static void main(String[] args) {
// 封装目录
File src = new File("demo");
// 递归实现
deleteFolder(src);
}
private static void deleteFolder(File src){
// 获取该目录下的所有文件或者文件夹的File数组
File[] fileArray = src.listFiles();
if (fileArray!=null){
// 遍历该File数组,得到每一个File对象
for(File file : fileArray){
// 判断该File对象是否为文件夹
if(file.isDirectory()){
deleteFolder(file);
}else
{
System.out.println(file.getName()+"---"+file.delete());
}
}
System.out.println(src.getName()+"---"+src.delete());
}
}
}
2:需求:请大家把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台。
package work1;
import java.io.File;
public class Work2 {
public static void main(String[] args) {
// 封装目录
File src = new File("E:\\JavaSE");
// 递归实现
getAllJavaSE(src);
}
private static void getAllJavaSE(File src){
// 获取该目录下所有的文件或者文件夹的File数组
File[] fileArray = src.listFiles();
// 遍历该File数组,得到每一个File对象
for(File file : fileArray){
// 判断该File对象是否为文件夹
if(file.isDirectory()){
getAllJavaSE(file);
}else{
// 判断是否以.java结尾
if(file.getName().endsWith(".java")){
// 输出该文件的绝对路径
System.out.println(file.getAbsolutePath());
}
}
}
}
}