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

时间: 2024-10-11 20:21:02

JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径的相关文章

android ndk下文件遍历与删除

在做手机开发过程中,难免要进行一些本地文件管理操作,比如很多常见app如微博.微信等都有清除缓存功能,该功能就是遍历app自己的缓存目录,然后删除全部缓存文件.使用java的File类可以实现本地文件遍历及删除等等功能,如果使用ndk的方式该如何实现呢?以前写过<基于c++使用win32 api遍历文件夹>,由于android ndk平台属于linux系统,所以该方式是无法使用的.通过查找linux下文件管理相关资料,顺利实现了文件遍历与删除功能,下面为相应代码,需要包含<dirent.

iOS中使用ZipArchive压缩和解压缩文件-备

为什么我需要解压缩文件 有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因: 苹果App Store的50M下载限制 苹 果公司出于流量的考虑,规定在非WIFI环境下,限制用户只能下载小于50M的应用或游戏.这样一来,对于一些数据或数据包较大的应用,我们只能尽量减小 应用二进制包的体积.而把数据打包到zip中,这样App可以通过网络下载数据包,解压出所需要的内容,而且这样也可以动态的更新内容. 动态更新内容 这 一点在上面已经提过了.如果应用所需要的资源需要动态更新,一

iOS中使用ZipArchive 压缩和解压缩文件

引自 http://www.36duo.com/thread-119-1-1.html 在本教程中,我将演示如何在iOS程序中压缩和解压缩文件.我们将使用一个叫做ZipArchive的第三方库来实现.尽管压缩和解压缩有许多其他的方案可选,但是我觉得ZipArchive库是最快捷.最简单的解决方案.let’s go. 为什么我需要解压缩文件 有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因: 苹果App Store的50M下载限制 苹 果公司出于流量的考虑,规定在非WI

Java代码实现向Oracle数据库中导入已备份的数据库文件

今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.IOException; /** * Java代码实现向Oracle数据库中导入已备份的数据库文件 * * @author:Gaohuanjie */ public class OracleImportDatabase { /** * 向Oracle数据库中导入已备份的数据库文件 * * @author:Gaohuanjie * @param userName 进入数据库所

Net文件递归查找并保存

原理:遍历当前文件夹的子文件,保存遍历文件夹下的所有文件 主要方法(2个): //获取文件夹下的所有文件 并保存 string[] path = Directory.GetFiles(NeedFilePath, "*.*"); //获取文件夹下的所有子文件 string[] files = Directory.GetDirectories(NeedFilePath); 代码如下: 1 /// <summary> 2 /// 文件递归 3 /// </summary&g

Linux rm(删除一个目录中的一个或多个文件或目录或删除非空目录)

rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf).所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑. 命令格式: rm [选项] 文件- 命令功能: 删除一个目录中的一个或多个文件或目录,如

Java NIO.2 —— 文件或目录删除操作

文件删除 删除单个文件的操作很简单,如果要删除一个目录树的话,需要实现FileVisitor 接口然后递归地调用delete() 或deleteIfExists()方法.在看代码之前,需要注意一下问题. 在删除一个目录之前,要先删除里面的文件. visitFile()方式是执行删除每个文件最好的方式. 因为只有在目录为空的情况下才可以删除,所以建议在postVisitDirectory()方法中删除目录操作. 如果文件不允许访问,你可以根据自己的决定使用visitFileFailed()方法来返

centos 文件新建、删除、移动、复制等命令

创建目录 mkdir 文件名 mkdir /var/www/test cp复制命令 cp命令复制文件从一个位置到另一位置.如果目的地文件存在,将覆复写该文件: 如果目的地目录存在,文件将复制到该目录下 (目录不会被复写). 语法:语法是cp [命令开关]… SOURCE DESTcp [OPTIONS]… SOURCE… DIRECTORYcp [OPTIONS]… –target-directory=DIRECTORY SOURCE… 命令开关: -a 等同于 -dpR. –backup[=C

robots.txt 文件是什么? 如何获取

1.robots.txt基本介绍 robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容. 当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围:如果该文件不存在,那么搜索机器人就沿着链接抓取. 另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写. robots.txt写作语