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

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模式进行查看



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值