递归读取制定目录下所有文件夹和文件的实现(java)

  public static String getAllDirectorisAndFiles(String path){
    	Map<String, Object> responseMap = new HashMap<String, Object>();
		responseMap.put("time_stamp", Tools.currentTime());
		String responseString = "";
		try {
			getDirectorisAndFiles(path, responseMap, "data");
			responseString = (new Gson()).toJson(responseMap);
		} catch (Exception e) {
			System.out.println("files列表读取异常");
		}
		return responseString;
    }

    public static void getDirectorisAndFiles(String path, Map<String, Object> resultMap, String directoryName) {
    	System.out.println(path);
    	System.out.println(directoryName);
    	File file = new File(path);
    	ArrayList<Object> dataArray = new ArrayList<Object>();
        File [] files = file.listFiles();

        for(File a:files)
        {
            if(a.isDirectory())
            {
            	Map<String, Object> tempMap = new HashMap<String, Object>();
            	getDirectorisAndFiles(path + a.getName() + "/", tempMap, a.getName());
            	dataArray.add(tempMap);
            }else{
            	dataArray.add(a.getName());
            }
        }
        resultMap.put(directoryName, dataArray);
	}

  

原文地址:https://www.cnblogs.com/yangzigege/p/9032519.html

时间: 2024-12-10 08:20:03

递归读取制定目录下所有文件夹和文件的实现(java)的相关文章

【C#】递归搜索指定目录下的指定项目(文件或目录)

先别急着喷,请听我解释. 诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[System Volume Information]这种目录时,极有可能会给你个拒绝访问的异常,想跳过都不行.所以没办法,重新实现了一下. 实现说明: - 仍然是基于对Directory类的几个方法的封装进行实现,只是没有使用它们的searchPattern和searchO

Linux: cp 复制文件、文件夹到文件夹

参数 a 该选项通常在拷贝目录时使用.它保留链接.文件属性,并递归地拷贝目录,其作用等于dpR选项的组合. d 拷贝时保留链接.    f 删除已经存在的目标文件而不提示.    i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认.回答y时目标文件将被覆盖,是交互式拷贝.    p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中.    r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件.此时目标文件必须为一个目录名.    l 不作拷

递归列出一个目录下所有的文件夹和文件

package chapter10; import java.io.File; /** * 列出一个目录下所有的文件夹和文件 * */public class TestFile02 { public static void main(String[] args) { File file = new File("E:\\av"); listFile(file); } public static void listFile(File file) { File[] files = file.

Python--通过索引excel表将文件进行文件夹分类的脚本+读取指定目录下所有文件名的脚本

1.通过索引excel表将文件进行文件夹分类的脚本,此脚本由于将ip和id对应并生成对应id的文件夹将文件进行分类,也可以任意规定表格内容,通过vul_sc_ip.txt和xlsx文件进行索引. # -*- coding:utf8 -*- import sys import os import pandas as pd import shutil import stat def find(path,ip): # open the excel file df = pd.read_excel(pat

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

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

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

iOS案例:读取指定目录下的文件列表

// // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rights reserved. // /* *读取指定目录下的文件列表 */ #import <Foundation/Foundation.h> void myQuickMethod(); int main(int argc, const char * argv[]) { //文件操作对象 NSFil

Android开发系列(十七):读取assets目录下的数据库文件

在做Android应用的时候,不可避免要用到数据库.但是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客解决了我前面博客中写的一个小游戏的一个问题,另外也可以读取Raw目录下的数据库文件) 这就造成了一个问题,这个问题其实很好解决,解决方法如下: 我们首先把有数据的数据库文件放在assets资源目录下边,然后在apk应用启动的时候,把assets目录下的数据库文件的数据写入到真机的内存中去. 下边开始我们的代码编写:

python 读取一个目录下的所有目录和文件

觉着没事,应该学点东西.找到以前看过的python,试着做了个读取文件的程序.不管效果怎么,总算成功了. #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回