当前位置: 首页 > 编程日记 > 正文

java遍历给定目录,树形结构输出所有文件,包括子目录中的文件

http://www.cnblogs.com/jenson138/p/4691418.html

import java.io.File;public class ReadDirectory {// 文件所在的层数private int fileLevel;/*** 生成输出格式* @param name 输出的文件名或目录名* @param level 输出的文件名或者目录名所在的层次* @return 输出的字符串*/public String createPrintStr(String name, int level) {// 输出的前缀String printStr = "";// 按层次进行缩进for (int i = 0; i < level; i ++) {printStr  = printStr + "  ";}printStr = printStr + "- " + name;return printStr;}/*** 输出初始给定的目录* @param dirPath 给定的目录*/public void printDir(String dirPath){// 将给定的目录进行分割String[] dirNameList = dirPath.split("\\\\");// 设定文件level的basefileLevel = dirNameList.length;// 按格式输出for (int i = 0; i < dirNameList.length; i ++) {System.out.println(createPrintStr(dirNameList[i], i));}}/*** 输出给定目录下的文件,包括子目录中的文件* @param dirPath 给定的目录*/public void readFile(String dirPath) {// 建立当前目录中文件的File对象File file = new File(dirPath);// 取得代表目录中所有文件的File对象数组File[] list = file.listFiles();// 遍历file数组for (int i = 0; i < list.length; i++) {if (list.isDirectory()) {System.out.println(createPrintStr(list.getName(), fileLevel));fileLevel ++;// 递归子目录readFile(list.getPath());fileLevel --;} else {System.out.println(createPrintStr(list.getName(), fileLevel));}}}public static void main(String[] args) {ReadDirectory rd = new ReadDirectory();String dirPath = "D:\\有道词典";rd.printDir(dirPath);rd.readFile(dirPath);}
}

输出结果如下:

分类: JAVA基础知识

转载于:https://www.cnblogs.com/a757956132/p/4703751.html

相关文章:

数据千万条,备份第一条,数据找不回,老板两行泪

2019独角兽企业重金招聘Python工程师标准>>> 开工第一天&#xff0c;请带着你的回忆看下文&#xff0c;想想你这些年删过的库&#xff0c;被删过的库。。。 数据库备份是个老生常谈的话题&#xff0c;看似很简单&#xff0c;但在实际操作过程中&#xff0c;运维人员…

【转】Visual Studio 2010 架构图之用例图(UML Use Case Diagram)

这篇文章是来自园子的&#xff0c;我只是把自己觉得重要的地方&#xff0c;做了更鲜明的标记和解释。 使用Visual Studio 2010可以在项目中添加架构图&#xff0c;项目可以是ASP.NET、Windows Forms、...&#xff0c;也可以创建单独的Modeling Projects。 可以通过下图方式在项…

spi通讯不需要地线吗_抖音真的需要养号吗?不需要!千万别被割了韭菜

“抖音新账号一定要先养号&#xff0c;再发布作品。”这句话&#xff0c;你是不是听很多人跟你讲过&#xff1f;包括我也曾在之前的推文里建议大家先养号&#xff0c;并且说的有理有据。&#xff08;要打脸了&#xff09;但是&#xff0c;这是一句谣传&#xff01;暂且不说谣言…

Linux学习之setjmp和longjmp函数

nsetjmp和longjmp函数实现函数之间的跳转(需包含头文件"setjmp.h")&#xff1a;函数原型&#xff1a;int setjmp(jmp_buf env); void longjmp(jmp_buf env, int val); setjmp函数用于设置跳转的目的位置&#xff0c;longjmp函数进行跳转。env&#xff1a;保留了需要返…

Ubuntu 和 Redhat / Fedora 服务管理命令对比表(附Fedora16新的服务管理工具systemctl )...

以 apache/httpd 服务作为例子 任务 Red Hat / Fedora Ubuntu Ubuntu (with sysv-rc-conf or sysvconfig) 立即启动/停止某服务 service httpd start invoke-rc.d apache start service apache start 启动时自动加载 chkconfig httpd on update-rc.d apache defaults…

酷派、华为不能打印log解决办法

我发现我的手机无法再eclipse里面输出自己打的log.i等log&#xff0c;一开始还以为是我手机root或刷过机的问题。 最终非常偶然找到了解决的方法&#xff1a; 酷派大神F1&#xff0c;F2在出厂时将log的级别做了限制。 解除限制的方法是&#xff1a;拨号盘输入*20121220# ->…

80070583类不存在_Java自学-接口与继承 内部类

&#xfeff;Java 内部类内部类分为四种&#xff1a; 非静态内部类 静态内部类 匿名类 本地类步骤 1 : 非静态内部类非静态内部类 BattleScore “战斗成绩” 非静态内部类可以直接在一个类里面定义比如&#xff1a; 战斗成绩只有在一个英雄对象存在的时候才有意义 所以实例化Ba…

java 初识对象和对象引用的关系

在接触java之前就知道了java的对象引用&#xff0c;但概念一直很模糊&#xff0c;看了《Head First in Java》后觉得书中的例子很有趣&#xff0c;便分享给大家。 首先要搞清对象引用是什么&#xff1f; 我们都知道变量可以存放数据&#xff0c;就像杯子一样&#xff0c;不同大…

IOS UI 代码创建UIButton,UITextField,UILabel

//add a Label UILabel *label[[UILabelalloc]initWithFrame:CGRectMake(100,20, 150, 40)]; [label setText:"i am a label "]; label.font[UIFontsystemFontOfSize:20]; label.textAlignmentNSTextAlignmentLeft; //文字内容自适应标签宽度 label.adjustsFontSizeT…

Hash join 和nested loop

Hash join 和nested loop 总所周知&#xff0c;Oracle数据库常用的两种优化器&#xff1a;RBO&#xff08;rule-based-optimizer&#xff09;和CBO(cost-based-optimizer)。目前更多地采用CBO(cost-based-optimizer)基于开销的优化器。在CBO方式下&#xff0c;Oracle会根据表及…

minus oracle 顺序_oracle minus的用法来一波

Oracle Minus关键字SQL中有一个MINUS关键字&#xff0c;它运用在两个SQL语句上&#xff0c;它先找出第一条SQL语句所产生的结果&#xff0c;然后看这些结果有没有在第二个SQL语句的结果中。如果有的话&#xff0c;那这一笔记录就被去除&#xff0c;而不会在最后的结果中出现。如…

我现在的vimrc配置文件

我现在的vimrc配置文件 runtime! debian.vim "设置编码 set encodingutf-8 set fencsutf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 set fileencodingsutf-8,ucs-bom,chinese"语言设置 set langmenuzh_CN.UTF-8" command WQ wq command Wq wq command W w…

UVA 10269 Adventure of Super Mario

UVA_10269 由于马里奥的飞行距离有限&#xff0c;因此为了方便处理&#xff0c;我们首先用floyd预处理出马里奥可以飞行的两点间的最短路&#xff0c;然后再将图分成K1层用SPFA求最短路即可。 #include<stdio.h>#include<string.h>#define MAXD 130#define MAXN 20…

“5G杀手级应用”Cloud VR 华为如何打响5G第一枪

雷锋网消息&#xff0c;近日华为在上海召开华为云 5G Cloud VR服务发布会暨5G Cloud VR开发者沙龙&#xff0c;Cloud VR有何潜力成为5G第一批杀手级应用&#xff0c;华为又在其中扮演怎样的角色。Cloud VR和5G更配生产决定消费&#xff0c;消费反作用于生产&#xff0c;对于5G也…

昆仑通态通用版找不到驱动_2021深圳新安西门子伺服驱动电机回收合作共赢

2021深圳新安西门子伺服驱动电机回收合作共赢 一个企业,应尽量做到PLC的机型统主要考虑到以下三方面问题&#xff1a;机型统其模块可互为备用,便于备品备件的采购和管理。机型统其功能和使用方法类似,有利于技术力量的培训和技术水平的提高。机型统其外部设备通用,资源可共享,易…

熟人Dubbo 系列1-Dubbo什么

Dubbo阿里巴巴内部SOA治理方案和服务的核心框架。每天2000 个服务提供3,000,000,000 次訪问量支持&#xff0c;并被广泛应用于阿里巴巴集团的各成员网站。Dubbo自2011年开源后&#xff0c;已被很多非阿里系公司使用。Dubbo[]是一个分布式服务框架&#xff0c;致力于提供高性能和…

CentOS源码安装GitLab汉化版第3版

软件版本&#xff1a; 软件版本CentOS7.5GraphicsMagick1.3.31Git2.21.0Ruby2.5.3Go1.12Node.js10.15.2PostgreSQL11.2Redis5.0.3GitLab11.8.0 汉化版Nginx1.14.21. 安装依赖 yum -y install libicu-devel patch gcc-c readline-devel zlib-devel libffi-devel openssl-devel m…

用JSP+JDBC开发Web程序

以前一直想找个纯粹的JSPJDBC开发Web程序的架构&#xff0c;一直没有找到合适的&#xff0c;后来自己写了一个简单实现&#xff0c;并实施了几个项目。 此开发架构的特点是&#xff1a; 1.架构技术简单&#xff0c;只包含JSP和JDBC&#xff0c;不需要学习即可快速开发Web应用&a…

catia怎么创建约束快捷键_答疑 | CATIA结构树无法显示怎么办?

问题有小伙伴反馈&#xff0c;设计过程中&#xff0c;CATIA的结构树不见了……怎么办&#xff1f;问题听起来很简单&#xff0c;但总能难倒一些新手。原因与解决方案&#xff1a;下面针对产生该问题的不同的原因&#xff0c;提出不同的解决方案。第一种情况原因&#xff1a;结构…

【UVA】11992 - Fast Matrix Operations(段树模板)

主体段树&#xff0c;要注意&#xff0c;因为有set和add操作&#xff0c;当慵懒的标志下推。递归优先set&#xff0c;后复发add&#xff0c;每次运行set行动add马克清0 WA了好几次是由于计算那一段的时候出问题了&#xff0c;可笑的是我对着模板找了一个多小时的错。 #include&…

记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案

问题概述使用阿里云rds for MySQL数据库&#xff08;就是MySQL5.6版本&#xff09;&#xff0c;有个用户上网记录表6个月的数据量近2000万&#xff0c;保留最近一年的数据量达到4000万&#xff0c;查询速度极慢&#xff0c;日常卡死。严重影响业务。 问题前提&#xff1a;老系统…

SQL Server 2008 下载地址(微软官方网站)

哪里有sqlserver2008下载&#xff1f;2011-9-24 23:58提问者&#xff1a;ooseestars | 浏览次数&#xff1a;3252次2011-9-26 11:38最佳答案SQL Server 2008 下载地址(微软官方网站) 中文版(3.28GB)&#xff1a;http://sqlserver.dlservice.microsoft.com/dl/download/B/8/0/B8…

java实现最长连续子序列_最长公共子序列 ||

问题&#xff1a;在 前一篇文章 最长公共子序列 | 的基础上要求将所有的最长公共子序列打印出来&#xff0c;因为最长公共子序列可能不只一种。难点&#xff1a;输出一个最长公共子序列并不难&#xff0c;难点在于输出所有的最长公共子序列&#xff0c;我们需要在动态规划表上进…

替换元素和非替换元素的学习

替换元素和非替换元素的学习 (元素)[妙瞳] 引言 元素是文档结构的基础&#xff0c;在CSS中&#xff0c;每个元素生成了一个包含了元素内容的框&#xff08;box,也翻译为“盒子”&#xff09;。但是不同的元素显示的方式会有所不同&#xff0c;例如div和span不同&#xff0c;而s…

第十六天-企业应用架构模式-离线并发模式

1.乐观离线锁 &#xff08;Optimistic Offline Lock&#xff09; 运行机制 使用时机 例&#xff1a;领域层与数据层数据映射器 2.悲观离线锁 &#xff08;Pessimistic Offline Lock&#xff09; 运行机制 使用时机 例&#xff1a;简单锁管理对象 3.粗粒度锁 &#xff08;Coarse…

hdu1518 bjfuoj1042 zoj1909 poj2362 经典的搜索加剪枝

bjfuoj的测试数据最水&#xff0c;用很简单的方法一下就过了&#xff0c;又调了好长时间&#xff0c;才过掉其它OJ上的这道题目~ /* * hdu1518/win.cpp * Created on: 2011-11-8 * Author : ben*/#include <cstdio>#include <cstdlib>#include <cstring>#…

投影参数_智能投影仪参数如何去看,其实很简单

我又来给大家安利投影仪了&#xff0c;毕竟用过的都知道有多刺激&#xff0c;但是估计很多人看到参数就头疼了吧&#xff1f;所以话不多说&#xff0c;直接上科普啦流明亮度流明怎么算的&#xff0c;家人们就不用详细了解了&#xff0c;只用记住&#xff0c;流明越高画面就越亮…

zoj 3554 A Miser Boss

题意&#xff1a;有a、b、c三个人同时工作&#xff0c;三个人做不同的任务需要不同的时间&#xff0c;但最后要求三个人做事情的总时间相同&#xff0c;输出做完所有任务需要的最少时间&#xff0c;如果无法达到三个人总工作时间相同&#xff0c;则输出“No” 当时一股脑筋觉着…

二进制_Kubernetes集群二进制部署

一、环境规划操作系统&#xff1a;CentOS7.4_x64kubernetes安装目录&#xff1a;/opt/kubernetes版本说明&#xff1a;Kubernetes&#xff1a;v1.9Docker&#xff1a;v17.12.0-ceEtcd&#xff1a;3.1二、安装Docker在所有节点执行&#xff1a;setenforce 0iptables -Fiptables …

delphi对窗体的查询(delphi xe2)

1、显示所有窗口的标题 2、根据关键字查询窗口 3、某一窗口内的所有控件及其内容 . unit Unit1;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;typeTFo…