Java递归输出指定路径下所有文件及文件夹

package a.ab;

import java.io.File;
import java.io.IOException;

public class AE {

	public static void main(String[] args) {
		File f=new File("D:\\DD");
	    new AE().fileList(f);
	}
	public  void fileList(File fl){
		try{
			File[] fs=fl.listFiles();
			for(File file:fs){
				if(file.isDirectory()){
					System.out.println(file.getName());
					 fileList(file);
				}else{
					System.out.println(file.getName());
				}
		}

		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

  

listFiles

public File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

如果此抽象路径名不表示一个目录,那么此方法将返回 null。否则返回一个 File 对象数组,每个数组元素对应目录中的每个文件或目录。表示目录本身及其父目录的名称不包括在结果中。得到的每个抽象路径名都是根据此抽象路径名,使用 File(File, String) 构造方法构造的。所以,如果此路径名是绝对路径名,那么得到的每个路径名都是绝对路径名;如果此路径名是相对路径名,那么得到的每个路径名都是相对于同一目录的路径名。

不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。

返回:
抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null
抛出:
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对目录进行读访问

采用递归输出文件及文件夹,首先将指定目录下文件全部遍历出来放到 File[]数组中,然后递归调用输出这个数组的所有元素。

时间: 2024-10-12 13:13:45

Java递归输出指定路径下所有文件及文件夹的相关文章

C#递归读取指定路径下的所有文件并保存至TreeView

1.代码如下: /// <summary> /// 递归读取指定路径下的所有文件信息 /// </summary> /// <param name="path"></param> /// <param name="node"></param> private void DIGuiGetFile(string path, TreeNode node) { if (!Directory.Exists

访问指定路径下的目录以及文件

#include "stdafx.h" //vs2010下运行通过 #undef UNICODE #include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <iostream> using namespace std; void browseFile(char* path) { char pattern[FILENAME_MAX + 1]; sprintf(p

递归删除指定路径下的空目录

递归删除指定路径下的空目录: 注:如第一级目录要保留 vi a1.py #!/usr/bin/python import os dir="/root/python" os.chdir(dir) for f in os.listdir(dir):if os.path.isdir(f):p = open('/root/python/logs/py.log','a')p.write(os.path.join(dir,f)+"\n")p.close() g = open('

Java 递归获取一个路径下的所有文件,文件夹名称

package com.readfile; import java.io.File; public class GetAllFiles { public static void main(String[] args) { //路径 这里写一个路径进去 String path="F:\\QQ文档"; //调用方法 getFiles(path); } /** * 递归获取某路径下的所有文件,文件夹,并输出 */ public static void getFiles(String path

获取指定路径下特定后缀的文件

# 获取指定路径下所有指定后缀的文件# dir 指定路径# ext 指定后缀,链表&不需要带点 或者不指定.例子:['xml', 'java']import osdef GetFileFromThisRootDir(dir,ext = None): allfiles = [] needExtFilter = (ext != None) for root,dirs,files in os.walk(dir): for filespath in files: filepath = os.path.j

Excel Macro宏 - 指定路径下两个TXT文件Copy后,导入Excel中并进行对比

由于Excel格式粘贴没时间,只写关键的VBA代码和TXT文档Format示例‘ Attribute VB_Name = "CopyAndDiffer" '2015/06/24 ADD By MAOUIZAYOI Option Explicit ' Excute Interface.Sub CopyAndDiffer() ' define variables    Dim ccnSht As Object       'ccnSht is named for current conso

删除指定路径下固定格式,以.log结尾、三天前的文件,或删除空的日志文件

师出‘百测’besttest 删除指定路径下固定格式,以.log结尾.三天前的文件,或删除空的日志文件. 日志文件格式:XXXX_2019-01-01.log. import os,datetime #判断文件是否为空,如果为空则删除 def del_file(file): with open(file,encoding='utf-8') as f: if f.read(): pass else: f.close() os.remove(file) #查找指定路径下xx结尾的文件 def sea

JAVA输出指定目录下的子目录和子文件

题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数组 循环遍历输出这个数组元素 输出名称之后,接着判断这个元素是文件还是目录 如果是目录,继续调用本方法来输出子目录 代码如下: /** * 输出指定目录下的所有子目录和子文件 * * @author DXY * */ public class HelloFile { public static vo

Python:遍历输出某路径下的所有文件和文件夹

怎么遍历输出某路径下的所有问价和文件夹? 这个问题和,"指定一个节点,输出以这个节点作为根节点的这棵树的所有子节点"一样. 递归可以实现. 如果是叶子节点(文件)了,就输出这个叶子节点的名称,返回. 否则,输出这个节点的名称(文件夹),并以这个结点再次作为根节点,遍历输出它的所有子节点. -- coding: utf-8 -- import os def traverse(f):fs = os.listdir(f)for f1 in fs:tmp_path = os.path.join