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

JavaSE 文件递归之删除&获取文件夹目录中所有的以.jpg的文件的绝对路径

2015-08-10 16:23 1081 查看
1.递归删除文件

如果一个文件夹下面还有子目录,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件目录中的所有文件以及文件夹

package cn.itcast.digui;

import java.io.File;

/**
 * 递归删除demo文件夹中所有文件包括文件夹
 * 分析:
 * A:封装目录
 * B:获取改目录下的所有文件或者文件夹
 * C:遍历改file数组,得到每一个File对象
 * D:判断该file对象是都是文件夹
 * 	是:回到B
 *      否:删除
 * @author Administrator
 *
 */
public class GiGuiDelete {
	public static void main(String[] args) {
		File srcFile=new File("demo");
		deleteFolder(srcFile);
	}
	private static void deleteFolder(File srcFile) {
		File[] files = srcFile.listFiles();
		for(File f:files){
			if(f.isDirectory()){
				deleteFolder(f);//递归调用
			}else{
				System.out.println(f.getName()+"---"+f.delete());//删除文件
			}
		}
		System.out.println(srcFile.getName()+"---"+srcFile.delete());//删除空的文件夹
	}
}
对于测试结果,可以进行debug测试,这里我就不进行测试了!

2.获取文件夹目录中所有的以.jpg的文件的绝对路径

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());
				}
			}
		}
	}
}
对于测试大家可以使用debug模式进行查看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: