import java.io.File;
import base.tools.ZipUtils;
public class TestZipUtils {
public static void main(String[] args) throws Exception {
listAllFiles(args[0], args[1]);
}
public static void listAllFiles(String dirName, String unzipDir) throws Exception {
/**
* 如果目录,返回
*/
if (dirName == null || "".equals(dirName) || "\\".equals(dirName)) {
return;
}
/**
* 如果目录不以文件分隔符结尾,自动添加文件分隔符
*/
if (!dirName.endsWith(File.separator)) {
dirName = dirName + File.separator;
}
File dirFile = new File(dirName);
if ((!dirFile.exists()) || (!dirFile.isDirectory())) {
return;
}
// 列出文件夹下所有的文件,listFiles方法返回目录下的所有文件(包括目录)的File对象
File[] files = dirFile.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
if (files[i].getName().endsWith("zip")
&& !files[i].isHidden() && (files[i].getAbsolutePath().contains("pop3") || files[i].getAbsolutePath().contains("smtp"))) {
try {
System.out.println(files[i].getAbsolutePath());
ZipUtils.unzip(files[i].getAbsolutePath(), unzipDir);
System.out.println(files[i].getAbsolutePath() + "解压完成");
} catch (Exception e) {
}
}
} else {
if (!files[i].isHidden()) {
listAllFiles(files[i].getAbsolutePath(), unzipDir);
}
}
}
files = null;
dirFile = null;
}
}
在遍历目录的过程中,如果不加
isHidden() 验证是否为系统文件,则在遍历过程中可能会报空指针异常
分享到:
相关推荐
遍历目录文件,即程序会按照一定的顺序访问指定目录下的所有文件和子目录,读取它们的信息,包括文件名、大小、创建日期等。这个过程通常通过循环结构和系统调用来完成。 在易语言中,遍历目录文件主要涉及到以下...
- 使用`listFiles()`方法获取当前目录下的所有文件和子目录,然后对每个元素调用递归方法。 4. **示例代码**: ```java public class DirectoryTraversal { public static void traverse(File dir) { if (dir....
在Java编程语言中,遍历一个目录下的所有文件和子目录是一项常见的任务,尤其是在处理文件系统操作时。这里我们将深入探讨如何使用Java API来实现这一功能,并解释相关的知识点。 首先,Java提供了`java.io.File`类...
5. **遍历目录**:使用递归或循环结构,通过`CWD`命令进入子目录,并使用`LIST`命令获取子目录的文件列表。对于每个返回的文件或目录,可以根据需要进行处理,如打印、下载等。 6. **关闭FTP连接**:遍历完成后,...
### DOS 下遍历目录和文件的代码解析 #### 核心知识点概述 本文将深入解析在DOS环境下遍历目录和文件的相关代码实现方法。主要通过`FOR`命令结合批处理脚本来完成对指定路径下的文件及子目录的遍历,并进行简单的...
遍历目录及子目录中的所有文件,并按级别输出到IE。
Linux下遍历目录搜索文件源程序以及执行文件,支持嵌套目录,输出目录、子目录和对应的子目录中的文件列表,以及总文件数目。 LINUX下历遍目录的方法一般是这样的:打开目录-》读取-》关闭目录 相关函数是opendir -> ...
在C++编程中,遍历目录树是一项常见的任务,它涉及到访问和处理文件系统中的文件和子目录。这个过程通常用于文件操作、备份、搜索、清理等场景。下面我们将详细探讨如何在C++中实现这一功能。 遍历目录树的核心在于...
在实际应用中,你可以创建`DirectoryTraversal`类的实例,传入你想要遍历的目录路径,然后调用这些方法来获取目录和文件列表,或者执行其他文件系统操作。例如: ```php $traversal = new DirectoryTraversal('/...
本文将深入探讨如何在不同的编程环境中遍历目录下的子文件和子文件夹,以满足日常开发需求。 首先,我们来看“遍历文件”的概念。遍历文件是指程序按照一定的顺序访问一个目录中的所有文件,读取或操作它们。通常,...
在VC++编程环境中,遍历目录及子目录并输出文件名是常见的操作,尤其是在处理文件系统任务时。本文将深入探讨如何使用C++在Visual C++(VC)中实现这一功能,结合描述中的"目录树的输出"和"程序根据打印要求打印指定...
if (entry->d_type == DT_REG) { // 只处理常规文件,忽略目录和其他类型 std::string filename = entry->d_name; std::string extension = getFileExtension(filename); filenames.push_back(filename); std::...
否则...”等)来控制程序流程,逐个处理目录和子目录中的文件。 下面是一个简单的非子程序遍历目录的示例代码: ```易语言 .当前目录 = “C:\MyDirectory” .文件列表 = 系统.文件夹.获取文件列表(.当前目录) .子...
在Java编程中,遍历目录文件是一项常见的任务,特别是在处理文件系统操作时。这个程序的主要目的是访问指定目录下的所有文件,记录每个文件的基本信息,如文件路径、最后修改时间以及文件大小,然后将这些信息写入到...
7. **源代码结构**:尽管未提供源代码,但通常此类程序会有一个主函数作为入口点,调用遍历目录的函数,该函数递归地处理每个子目录,并在遇到匹配文件时执行相应的操作,比如记录文件信息。 8. **文件记录**:"dll...
标题"filelist_遍历目录文件大小_"表明我们要讨论的是如何在程序中实现这一功能。描述中提到的“遍历目录,取文件路径及大小,并实现导出到文本文件中”是这一过程的具体目标。下面我们将详细探讨这个主题。 首先,...
递归方法是从根目录开始,对每个子目录重复相同的操作,直到所有文件和子目录都被处理。迭代方法则使用`os.walk()`函数,它可以生成目录树中的三元组(目录路径、该目录下的子目录列表和文件列表),这样可以逐个...
`<filesystem>`库提供了现代C++中处理文件系统操作的API,而`<dirent.h>`是用于遍历目录的老式方法。 1. **文件遍历** 使用`std::filesystem::directory_iterator`(C++17及以上)或`DIR*`和`struct dirent`(旧版...
1. **目录遍历**:在Windows系统中,可以使用`FindFirstFile`、`FindNextFile`和`FindClose`函数来遍历目录中的文件和子目录。这些函数是Windows API的一部分,允许开发者获取目录中文件的信息,包括文件名、大小、...