您的位置:首页 > 编程语言 > Java开发

Java基础----递归

2014-12-29 09:50 232 查看
package cn.itcast_03;

import java.io.File;

/*
* 需求:递归删除带内容的目录
*
* 目录我已经给定:demo
*
* 分析:
* 		A:封装目录
* 		B:获取该目录下的所有文件或者文件夹的File数组
* 		C:遍历该File数组,得到每一个File对象
* 		D:判断该File对象是否是文件夹
* 			是:回到B
* 			否:就删除
*/
public class FileDeleteDemo {
public static void main(String[] args) {
// 封装目录
File srcFolder = new File("demo");
// 递归实现
deleteFolder(srcFolder);
}

private static void deleteFolder(File srcFolder) {
// 获取该目录下的所有文件或者文件夹的File数组
File[] fileArray = srcFolder.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(srcFolder.getName() + "---" + srcFolder.delete());
}
}
}


package cn.itcast_03;

import java.io.File;

/*
* 需求:请大家把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台。
*
* 分析:
* 		A:封装目录
* 		B:获取该目录下所有的文件或者文件夹的File数组
* 		C:遍历该File数组,得到每一个File对象
* 		D:判断该File对象是否是文件夹
* 			是:回到B
* 			否:继续判断是否以.java结尾
* 				是:就输出该文件的绝对路径
* 				否:不搭理它
*/
public class FilePathDemo {
public static void main(String[] args) {
// 封装目录
File srcFolder = new File("E:\\JavaSE");

// 递归功能实现
getAllJavaFilePaths(srcFolder);
}

private static void getAllJavaFilePaths(File srcFolder) {
// 获取该目录下所有的文件或者文件夹的File数组
File[] fileArray = srcFolder.listFiles();

// 遍历该File数组,得到每一个File对象
for (File file : fileArray) {
// 判断该File对象是否是文件夹
if (file.isDirectory()) {
getAllJavaFilePaths(file);
} else {
// 继续判断是否以.java结尾
if (file.getName().endsWith(".java")) {
// 就输出该文件的绝对路径
System.out.println(file.getAbsolutePath());
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: