`
jilong-liang
  • 浏览: 481501 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

递归输出文件

    博客分类:
  • Java
阅读更多
Java 写道
import java.io.File;

public class ListFiles {
public static void main(String[] args) {
      File file = new File("E:" + File.separator );
      getFileLists(file);
}

public static void getFileLists(File file) {
     //如果是目录就遍历
     if (file.isDirectory()) {
         File f[] = file.listFiles();
        if (f != null) {
      for (int x = 0; x < f.length; x++) {
            getFileLists(f[x]);//递归
        }
      }
   } else {
        System.out.println(file);
 }
}
}
 
 
0
7
分享到:
评论
1 楼 stef831018 2013-04-19  
写了和您思路一样的方法


	/**
	 * 方法名称: ergodFile
	 * 功能描述: 文件目录遍历,读取指定文件目录下面的所有文件
	 *
	 * @version 1.0
	 * @param directoryPath String 文件目录路径
	 * @return List<MyFile> 文件列表
	 * @update [日期YYYY-MM-DD] [更改人姓名] [变更描述]
	 */
	public static List<FilePathEntity> ergodFile(String directoryPath) {

		// 过滤并整理传入的文件路径或URL为符合模式的文件路径,去掉前缀和后缀
		directoryPath = FilePathUtil.filterFilePath(directoryPath);

		if(!FilePathUtil.isFilePath(directoryPath)) {
			Log.logDebug("文件目录{}遍历失败 - 原因:设定的文件路径不合法!", new Object[] { directoryPath });
			return null;
		}

		List<FilePathEntity> listFile = null;
		File file = new File(directoryPath);
		if(file.isDirectory()) {
			listFile = new ArrayList<FilePathEntity>();
			Log.logDebug("文件目录{}遍历开始...", new Object[] { directoryPath });
			fileList(directoryPath, listFile);
			Log.logDebug("文件目录{}遍历结束...", new Object[] { directoryPath });
		}
		return listFile;
	}

	/**
	 * 方法名称: fileList
	 * 功能描述: 根据文件目录路径,返回该目录下的文件列表
	 *
	 * @version 1.0
	 * @param directoryPath String 文件目录路径
	 * @param listFile List<FileItemEntity> 文件列表
	 * @update [日期YYYY-MM-DD] [更改人姓名] [变更描述]
	 */
	private static void fileList(final String directoryPath, final List<FilePathEntity> listFile) {

		File directory = new File(directoryPath);
		if(!directory.exists()) {
			return;
		}
		File[] files = directory.listFiles();
		if(files == null || files.length == 0) {
			return;
		}
		for (File element : files) {
			if(element.isDirectory()) {
				fileList(element.getAbsolutePath(), listFile);
			} else {
				String absolutePath = element.getAbsolutePath();
				if(!StringUtil.isEmptyWithTrim(absolutePath)) {
					FilePathEntity fileItem =
						new FilePathEntity(FilePathUtil.filterFilePath(absolutePath));
					listFile.add(fileItem);
					Log.logDebug("文件目录遍历,找到文件[{}]", new Object[] { fileItem.getFileName() });
				}
			}
		}
	}


相关推荐

    用递归方法在文件中输出上下三角

    给定一个整数n,1≤n≤20,要求设计一个递归算法,实现下面两种方式(下三角和上三角)的文件输出。 n n n ... n 1 …… 2 2 3 3 3 3 3 3 2 2 …… 1 n n n … n 【输入数据】 输入数据由1.txt给出,文件格式为:第...

    易语言递归输出99表

    易语言是一种专为中国人设计的编程语言,它以简体中文作为编程语法,降低了编程的门槛,使得...而源码文件"易语言递归输出99表源码"则包含了具体的实现细节,通过阅读和分析源码,开发者可以深入学习易语言的递归应用。

    C# FTP递归下载文件(子目录和子目录中的文件)

    在本文中,我们将深入探讨如何使用C#编程语言实现FTP(File Transfer Protocol)递归下载功能,以便能够从服务器获取整个目录结构,包括子目录及其内的所有文件。这个任务适用于那些需要从FTP服务器批量下载数据的...

    java递归删除文件和文件夹.pdf

    "Java 递归删除文件和文件夹" Java 递归删除文件和文件夹是 Java 编程中一个常见的操作。该操作需要使用 Java 的 File 类来实现,通过递归调用来删除文件和文件夹。 File 类 在 Java 中,File 类是用于表示文件和...

    jsp jstl 递归 输出树 Tree 后台 Java 集合 递归 实现通用 树Tree

    以下是一个简单的JSP页面示例,使用JSTL递归输出树结构: ```jsp // 假设request中包含名为"rootNode"的树根节点 %&gt; ${rootNode}" var="node"&gt; ${node.data} ${not empty node.children}"&gt; ${node....

    linux下递归获取文件下的内容(目录和文件)

    本代码是linux下递归输出指定路径下文件夹和文件内容的,已测试通过,有需要的自己下载!

    (java递归)删除文件

    在本文中,我们将深入探讨如何使用递归方法在Java中删除文件,这通常涉及到目录及其包含的所有文件和子目录的删除。以下是根据提供的代码片段提炼出的关键知识点: ### 关键知识点一:递归函数设计 递归函数`find...

    c++遍历文件夹及其子文件夹所有文件 并输出文件路径和文件内容

    5. **输出文件信息** 将文件路径和内容分别输出到控制台。记得在每次读取完文件后关闭文件流,以释放资源。 下面是一个基于`std::filesystem`的示例代码片段: ```cpp #include #include void traverse(const ...

    win32 递归遍历、查找文件

    1、递归遍历给定路径, 2、查找所要找的文件,或文件类型(自己设置) 3、默认是查找给定路径下的.h \ .c \ .cpp文件,并输出到控制台 4、带main函数的单个源文件、简单易用。

    python实现MP4文件递归查找功能

    例如,你可以添加一个命令行参数来指定要查找的文件类型,或者设置日志级别来控制输出的详细程度。 总结来说,这个Python脚本实现了递归查找.mp4文件的功能,适用于学习Python文件操作和基本的递归概念。通过扩展,...

    xsl递归解晰xml

    在“subjectTree.xsl”这个示例中,很可能就是用于解析“abc.xml”文件中的一棵树形结构数据。 下面是一个简单的XSLT递归模板示例,用于转换具有子元素的XML元素: ```xml ()"&gt; &lt;xsl:text&gt;&#xa;&lt;/xsl:text&gt; &lt;!-- ...

    shell递归输出文件名和目录名的方法

    最近遇到一个问题,输出指定目录下的所有子目录以及所有文件名 ...以上这篇shell递归输出文件名和目录名的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    递归算法之输出某个目录下所有文件和子目录列表Java系列2021.pdf

    根据提供的文件信息,我们可以提炼出关于Java编程语言中使用递归算法输出某个目录下所有文件和子目录列表的知识点。以下是对文件内容的详细解析和知识点的详细说明: ### 知识点一:递归算法概述 递归算法是算法中...

    C#非递归后序遍历文件目录树

    `ConsoleApplication2.csproj`是C#项目的项目文件,`读我.txt`可能是包含阅读指南或说明的文本文件,而`PostOrder`、`Properties`、`obj`和`bin`这些目录通常是C#编译过程生成的中间文件和输出目录,它们包含了编译...

    DO-WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示)

    `.metadata`文件通常包含关于编译过程的元数据信息,而`compiledesign`可能是一个编译器设计的示例或输出结果。 总之,DO-WHILE循环的翻译涉及递归下降解析和三地址代码生成。理解并实现这一过程对于编译原理的学习...

    递归遍历一个目录,输出目录中的所有文件名路径

    递归遍历一个目录,输出目录中的所有文件名路径,输出时用“/”符号代替“\”符号

    php 递归遍历一个文件下的文件及子文件夹.txt

    在本例中,我们通过递归函数`RecursiveShowDir`遍历指定目录下的所有文件和子目录。 ### 重要知识点解析: #### 1. 函数定义:`RecursiveShowDir($dir, $layer)` - **参数**: - `$dir`:当前正在遍历的目录路径...

    递归处理当前目录下所有txt文件的实用程序

    该工具适用于从一个目录下大量的txt文件中搜索并提取出来包含某些关键词的信息,有递归查找的功能哦,实用性很强,编码也很规范,可供java入门者参考和研究,也可供有这方面需要的上班族直接使用。

    IF-ELSE条件语句的翻译程序设计 (递归下降法、输出三地址表示)

    此课题主要使用了两种方法:递归下降法和输出三地址表示。 递归下降法是一种基于解析器的构造方法,尤其适用于上下文无关文法的分析。这种方法利用函数的递归调用来模拟文法的非终结符,当遇到IF-ELSE条件语句时,...

Global site tag (gtag.js) - Google Analytics