初学IO,请各位高手多提意见,不足之处请指出
package org.yang.Recursion;
import java.io.File;
import java.util.Arrays;
import java.util.Comparator;
public class TreeDir {
//i用来判断缩进
int i = 0;
//n级目录就输出n个制表符
public String createMark(int i){
String s = "";
for(int t = 0; t<i;t++){
s = s + "\t";
}
return s;
}
public void showTree(File f){
//根据全限定名中的分隔符的个数判断是几级目录
int j = f.getAbsolutePath().split("\\\\").length-2;
//递归出口:如果为空目录或者是文件时跳出
if(f.isFile() || f.list() == null){
System.out.println(createMark(j)+f.getName());
}
//进到else里面的f一定是目录,且目录下面不为空
else{
System.out.println(createMark(j)+f.getName()+"\\");
File[] fff = f.listFiles();
Arrays.sort(fff,new Comparator<File>(){
@Override
public int compare(File o1, File o2) {
if(o1.isDirectory()&&o2.isFile()){
return -1;
}
else if(o1.isDirectory()&&o2.isDirectory()){
return 0;
}
return 1;
}
});
for(File ff : fff){
showTree(ff);
}
}
}
public static void main(String[] args) {
TreeDir tree = new TreeDir();
tree.showTree(new File("F:\\"));
}
}
分享到:
相关推荐
标题中的“文件夹树形目录生成器”是指一个工具或脚本,它的主要功能是创建一个文本文件(通常是TXT格式),该文件以树状结构显示指定文件夹内的目录层级关系。这种工具在管理大量文件和目录时非常有用,因为树形...
在C#编程中,递归是一种强大的工具,常用于解决涉及层次结构或树形结构的问题,比如在文件系统中查找特定目录或文件。本话题主要关注如何使用递归方法遍历指定文件夹及其所有子目录。我们将探讨以下几个关键知识点:...
要实现文件夹目录树的树形结构显示,我们需要以下步骤: 1. **初始化TreeView控件**:设置控件的基本属性,如`ShowLines`(显示连接线)和`ExpandAll`(是否自动展开所有节点)。 2. **枚举文件系统**:使用`My....
在计算机编程中,递归是一种强大的技术,常用于解决涉及层级结构的问题,如遍历文件系统、树形数据结构或执行深度优先搜索等。在这个场景中,"递归删除文件或子目录"指的是编写一个程序,它能够遍历并删除指定目录下...
在这个项目中,我们利用C#实现了类似于Windows资源管理器的功能,允许用户以树形结构浏览文件系统,并在ListView控件中显示详细文件信息。以下是对这个实现的详细讲解: 首先,`TreeView`控件被用来模拟资源管理器...
在易语言编程中,"利用树形框展示文件目录源码"是一个常见的需求,它涉及到图形用户界面(GUI)的设计和文件系统操作。易语言,作为一款中文编程环境,为初学者提供了简单直观的语法,使得这样的任务变得相对容易。...
在C#编程中,制作文件系统树形显示是一项常见的任务,尤其在开发桌面应用程序时,如资源管理器或自定义文件浏览器。这个项目的核心是利用Windows Forms中的TreeView控件来模拟文件系统的层次结构,使用户能够以直观...
"用树形控件管理文件夹源码"的主题聚焦于如何利用树形控件这一UI元素来展示和管理计算机上的文件系统结构。树形控件是一种常见的图形用户界面组件,它以层级结构显示数据,非常适合用来表示文件夹和文件的层次关系。...
在C#编程中,构建一个文件夹下的目录树结构是一项常见的任务,这有助于我们更好地管理和操作文件系统。本文将深入探讨如何使用C#语言来实现这一功能,特别是通过递归方法来查找并存储一个文件夹及其子文件夹内的所有...
在添加文件夹信息的同时,可能还需要使用图像列表(CImageList)来显示图标,比如文件夹和文件的图标。CImageList的构造函数可以设定图像的尺寸、颜色深度、初始数量和增长量。通过调用SetImageList方法将图像列表...
TreeView 控件可以以树形结构展示文件夹和文件的关系,方便用户浏览和下载文件。 二、递归遍历文件夹和文件 为了将文件夹和文件存入 TreeView 中,我们需要使用递归遍历文件夹和文件。递归遍历的过程是指从某个...
在Java编程中,生成树形文件目录是一项常见的任务,它涉及到文件系统操作和数据结构...通过这种方式,你可以用Java程序构建出一个功能完善的树形文件目录,无论是在命令行还是图形界面,都能清晰地展示文件系统的结构。
在`loadToTree`方法中,我们首先创建了一个代表应用程序启动路径的根节点,然后调用`getAllDirectories`方法来递归地添加所有的子目录和文件到树形视图中。 ##### 递归函数详解 `getAllDirectories`方法实现了核心...
在具体使用过程中,"文件夹树形目录生成器.bat"可能包含了批处理脚本语言,如Windows的DOS命令,如`tree`命令或者使用`dir /s /o:n > tree.txt`这样的组合命令,来递归地列出目录结构并将结果输出到文本文件。...
在IT领域,特别是软件开发中,遍历文件目录树是一项常见的任务。对于C#开发者来说,理解如何非递归地后序遍历文件目录树是非常有用的技能。后序遍历通常指的是先访问子节点,再访问父节点的遍历顺序。这种遍历方式在...
传统的实现方式通常使用递归算法,但这种方法可能会导致内存消耗过大,尤其是在菜单层级很深的情况下。本主题介绍了一种不依赖递归的高效方法来创建无限级树型菜单,具有快速加载的特点。 首先,我们来看`WriteXML....
在易语言中,通过创建树形框组件并绑定相应的数据,可以实现对文件夹及其子文件夹的递归遍历。遍历的过程通常包括读取文件夹信息,将文件夹名添加到树形框的节点中,然后对每个子文件夹重复这个过程,直到遍历完整个...
"js树形结构的文件夹打开菜单代码"指的是利用JavaScript实现一个交互式的文件夹菜单,用户可以通过点击来展开和关闭文件夹,展现类似计算机文件系统的层级关系。 在创建这样的树形结构时,我们首先需要理解树的基本...
本示例关注的是如何使用VC++来递归遍历一个指定的文件夹及其所有子文件夹,并将这些信息展示在一个树形控件中。这在构建文件管理系统或需要对文件进行批量操作的软件时非常有用。 首先,我们需要理解遍历文件夹的...
在这个任务中,我们将探讨如何利用VC++和MFC通过递归算法实现指定目录下EXE文件的查找。 首先,我们需要理解递归的基本概念。递归是一种函数或方法调用自身的技术,通常用于解决分治问题或遍历树形结构。在这个场景...