`

删除指定目录下指定类型的文件操作

 
阅读更多

 

import java.io.File;

public class FileManager {
	public static void listRoots() {
		// 将根目录存入File数组roots中
		File[] roots = File.listRoots();
		// 打印出根目录
		try {
			for (int i = 0; i < roots.length; i++) {
				System.out.println("======================================");
				System.out.println("根目录" + roots[i] + "的文件列表:");
				// System.out.println("该目录的容量为:"+roots[i].length());只有文件才有此方法才会返回字节长度,目录为0
				System.out.println("======================================\n");
				// 打印出根目录下的文件
				File[] rootfile = roots[i].listFiles();
				if(rootfile!=null){
					for (File rf : rootfile) {
						System.out.println(rf);
					}
				}
			}
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}

	// 删除指定文件或一些文件
	public void deleteFiles(String path, String inname, String inextension) {
		boolean status = true;
		FileManagerFilter fmf = new FileManagerFilter(inname, inextension);
		File file = new File(path);
		File[] filelist = file.listFiles(fmf);
		// System.out.println(filelist.length); 此语句用于测试
		if (filelist.length != 0) {
			System.out.println("**************删除文件*************");
			for (File fl : filelist) {
				// boolean delfil = fl.delete();
				System.out.println(fl + (fl.delete() ? " 成功" : " 没有成功")
						+ "被删除!");
			}
		} else {
			System.out.println("根据您所给的条件,没有找到要删除的文件!");
		}
	}

	// 删除所有目录下所有文件,但是目录没有删除,哈哈其实效果一样
	public void deletAllFile() {
		FileManager fm = new FileManager();
		File[] roots = File.listRoots();
		for (int i = 0; i < roots.length; i++) {
			if (roots[i].isDirectory()) {
				fm.deleteFiles(roots[i].toString(), "*", "*");
			}
		}
	}

	public static void main(String args[]) {
//		FileManager.listRoots();
		FileManager fm = new FileManager();
		// 此句表示删除d:/test2下的所有以"t"开头的,以"java"结尾的文件
		// *表示任意
		fm.deleteFiles("d:/test2", "*", "java");
		// 删除所有目录下文件, 请慎用此方法!!!!!!!!!!!!!!!!!
//		fm.deletAllFile();
	}
}

 

 下来给个file过滤类

 

import java.io.File;
import java.io.FilenameFilter;

public class FileManagerFilter implements FilenameFilter {
	private String name;
	private String extension;

	public FileManagerFilter(String name, String extension) {
		this.name = name;
		this.extension = extension;
	}

	public boolean accept(File dir, String filename) {
		boolean fileOK = true;
		if (name == "*" && extension == "*") {
			return fileOK = true;
		}
		if (name != null) {
			// 不大解理"&="的运行过程,
			if(name != "*") {
				fileOK &= filename.startsWith(name);
			}
		}
		if (extension != null) {
			fileOK &= filename.endsWith('.' + extension);
		}
		return fileOK;
	}
}
 

 

分享到:
评论

相关推荐

    定时删除指定目录下指定文件类型的文件 源码

    综上所述,这个"定时删除指定目录下指定文件类型的文件 源码"是一个实用的工具,它结合了定时任务、文件操作和条件判断等技术,能帮助我们有效地管理和维护文件系统。对于开发者来说,理解和使用这种源码能提升自动...

    (VS2010 C++)删除目录下指定类型或格式的文件demo

    这个"(VS2010 C++)删除目录下指定类型或格式的文件demo"提供了这样一个功能,它能帮助我们查找并删除指定目录下的所有日志文件。以下是对这个Demo涉及的知识点的详细解释: 1. 文件操作:C++标准库提供了对文件...

    BAT批处理脚本-文件相关操作-删除指定路径下指定文件及文件夹外的所有文件及文件夹2.zip

    本压缩包文件“BAT批处理脚本-文件相关操作-删除指定路径下指定文件及文件夹外的所有文件及文件夹2.zip”主要包含了关于如何使用批处理脚本来删除特定路径下非指定文件和文件夹的脚本。 批处理脚本(.bat)是基于...

    删除指定目录下某种类型的文件

    总之,`删除指定目录下某种类型的文件`涉及到文件系统的操作,需要理解文件路径、文件类型和Windows API的使用。通过VC++,我们可以构建一个实用的工具,方便地执行这类任务。在实际开发中,务必确保安全性和用户...

    .bat 批处理文件, 用于删除当前目录下的指定类型或名称的文件或文件夹

    .bat 批处理文件, 用于删除当前目录下的指定类型或名称的文件或文件夹, 请根据个人需要更改 检索 条件(文件后缀,或文件名称)

    压缩一个目录下的指定类型文件的rar脚本

    标题中的"压缩一个目录下的指定类型文件的RAR脚本"指的是创建一个脚本,该脚本能够遍历一个目录及其子目录,仅压缩特定扩展名的文件,而忽略其他不必要的文件,如临时文件、日志文件等。这有助于节省存储空间和提高...

    易语言删除指定路径指定后缀文件

    本文将深入探讨如何使用易语言删除指定路径下的特定后缀文件,这是一项在日常编程任务中非常实用的操作。 首先,我们需要了解易语言的基本语法和结构。易语言的核心思想是“易学易用”,其语法直观,易于理解。删除...

    BAT批处理脚本-文件相关操作-删除指定路径下指定文件及文件夹外的所有文件及文件夹1.zip

    本压缩包文件“BAT批处理脚本-文件相关操作-删除指定路径下指定文件及文件夹外的所有文件及文件夹1.zip”包含了用于自动删除指定路径下非特定文件或文件夹的BAT脚本。以下是关于这个脚本和批处理技术的详细解释: *...

    linux命令行工具:删除指定目录下指定时间前的某些文件(含源代码)

    `-mtime`选项用于指定文件的修改时间。例如,如果你想删除7天前的文件,可以运行: ``` find /path/to/dir -type f -mtime +7 -delete ``` 这条命令会删除指定目录下7天前修改过的所有普通文件。 3. **编写C源...

    QT开发清理指定目录下所有文件

    QT开发中的清理指定目录下所有文件是一项常见的任务,特别是在系统维护、日志管理或软件卸载等场景。本文将深入探讨如何使用QT5框架来实现这一功能,重点关注文件的枚举、选择特定类型以及安全删除。 首先,让我们...

    java 删除指定目录下的文件

    在Java编程语言中,删除指定目录下的文件是一个常见的任务,特别是在处理文件系统操作时。本文将深入探讨如何使用Java API来实现这一功能,主要关注`java.io`和`java.nio.file`这两个包中的相关类和方法。 首先,...

    删除指定文件夹下的指定文件批处理

    删除指定文件夹下的指定文件批处理,删除文件用del set /p var 是把var当一个变量,你可以在批处理的时候把文件所在的目录输入。用复制就行了,这样子方便!。

    删除指定目录下指定天数之前的文件

    若希望仅删除特定类型的文件,可以在`/m`参数后指定文件扩展名,如`/m *.txt`仅删除文本文件。 #### 扩展应用 除了简单地删除所有类型的文件外,此脚本还可以通过修改`*.*`为具体的文件扩展名(例如`*.txt`、`*....

    递归删除指定类型的文件夹,递归删除指定类型的文件

    这个函数会遍历指定目录中的所有文件,如果文件的扩展名匹配到指定类型,就删除该文件。同样,它也会递归地处理子目录,确保删除所有匹配的文件。 3. **深度搜索**:深度搜索是指遍历文件夹结构直到达到最底层。在...

    VB 删除指定类型文件

    在VB(Visual Basic)编程中,删除指定类型的文件是一项常见的任务,这可能涉及到清理日志、更新程序资源或者用户自定义的文件管理操作。要实现这个功能,我们需要使用到VB的文件系统对象(FileSystemObject)。以下...

    删除(遍历)指定目录下文件

    `DeleteFile`函数实现了删除指定文件的功能。这里的逻辑相对简单: - 使用`CFile`类的`Remove`静态方法删除文件。注意,此操作是不可逆的。 - 成功删除后,重新调用`InitFileName`函数更新文件列表,确保列表中的...

    java中读取目录下指定的文件

    以上就是Java中读取目录下指定文件的基本方法。通过灵活运用`File`类及其相关方法,可以实现各种复杂的文件操作需求。在实际开发中,根据具体场景选择合适的方法,并确保处理异常,以保证程序的健壮性。

    从指定目录下查找指定文件的例子

    对于"从指定目录下查找指定文件的例子",我们首先需要理解目录结构。在操作系统中,目录(也称为文件夹)是一种组织文件的方式,它包含一个或多个文件或子目录。通过目录路径,我们可以唯一地定位到文件的位置。例如...

    VC 删除指定目录下某种类型的文件.rar

    VC 删除指定目录下某种类型的文件,要删除的文件类型,可以选择exe/doc/txt/mp3/pdf等,指定文件类型后,会检索出这些文件,并绑定的文件列表中显示出来,当点击“删除文件”后,搜索中的文件会被全部删除。

    (VS2010 C++)删除指定目录及其下所有的文件夹,文件

    在C++编程中,删除指定目录及其所有子文件夹和文件是一项常见的操作,尤其是在系统清理、软件卸载或数据管理的场景中。本示例基于Visual Studio 2010 (VS2010)环境,使用C++语言实现这一功能。我们将探讨如何通过...

Global site tag (gtag.js) - Google Analytics