/*
* 题目:给定任意一个目录,以树形方式展现出该目录中的所有子目录和文件。
* 另外,在展现的时候将目录排在上面,文件排在下面。每一层要加上缩进
*/
package com.io;
import java.io.File;
import java.util.ArrayList;
public class ListAllTest {
//用于判断目录或文件所处的层次
private static int time;
//递归的方法
public static void deepList(File file) {
if(file.isFile() || 0 == file.listFiles().length) { //递归出口,判断是不是文件或者目录里面没有内容
return ;
}
else {
File[] files = file.listFiles();
files = sort(files);
for(File f : files) {
StringBuffer output = new StringBuffer();
if(f.isFile()) {
output.append(getTabs(time));
output.append(f.getName());
}
else {
output.append(getTabs(time));
output.append(f.getName());
output.append("\\");
}
System.out.println(output);
if(f.isDirectory()) {
time++;
deepList(f);
time--;
}
}
}
}
//整理文件数组,使用目录排在文件之前
private static File[] sort(File[] files) {
ArrayList<File> sorted = new ArrayList<File>();
//寻找到所有的目录
for(File f : files) {
if(f.isDirectory()) {
sorted.add(f);
}
}
//寻找到所有的目录
for(File f : files) {
if(f.isFile()) {
sorted.add(f);
}
}
return sorted.toArray(new File[files.length]);
}
//判断需要加多少tab的方法
private static String getTabs(int time) {
StringBuffer buffer = new StringBuffer();
for(int i = 0; i < time; i++) {
buffer.append("\t");
}
return buffer.toString();
}
public static void main(String[] args) {
File file = new File("f:" + File.separator + "ghost");
deepList(file);
}
}
分享到:
相关推荐
php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录php树形目录
labview树形结构显示文件目录,选择文件夹之后自动生成目录列表
易语言枚举目录文件到树形框源码,枚举目录文件到树形框,树形框_初始化,树形框_枚举目录,树型框_扩展事件,树型框_取项目索引,树型框_取子项目索引,内部调用_取目录路径,树型框_取文件路径
树形结构之文件结构 简单代码,如何打开文件时在界面以树形方式显示子目录和文件
C# 获取磁盘目录结构以树...C#获取你电脑磁盘的目录结构,并以树形菜单的方式显示出来,如果有子目录,会逐级递归下去,直到显示完成,程序的树形控件也比较不错,这也是大家常用的菜单显示方法,有必要学会使用树控。
本实验的要求在给出Unix下目录和文件信息的前提下,编程实现将其排列成一棵具有一定缩进的树。具体要求如下: 输入要求 输入数据包含几个测试案例。每一个案例由几行组成,每以行都代表了目录树的层次结构。第一行...
利用swing组件来显示系统文件的目录树,不使用JFileChooser类。
程序根据打印要求打印指定目录,打印输出的格式: 第一层(目录)的名字 | 文件1 | 文件2 |-----第二层目录1 | | 文件1 | | 文件2 | |-----第三层目录1..... | | | 文件1....... | | | 文件2......... .................
基于QT5.9简单的树形图文件管理器,右键的槽函数可以自己定义
filetree 以树形结构显示文件目录结构,它非常适合给别人介绍文件目录的组成框架
本系统是自己实现tomcat功能,大了一个简易的web服务器,同时利用反射和注解实现了...前端使用Html+Css+JS实现面向对象编程,实现树形目录结构,实现展开关闭,保存下载功能,是一个功能比较完善的文件管理系统
列出指定目录中所有文件的小程序!列出目录含子文件夹中的文件!
我们知道windows下有输出文件夹下的所有文件到制定目录的命令TREE C:\WINDOWS /F>D:\list.txt 但是当我在做项目时,发现有时我想知道整个项目中的每个文件的创建日期和文件大小(文件日期可以知道我们哪些文件是现做...
C# FTP递归下载文件(子目录和子目录中的文件 服务器使用的Serv-u软件 Visual Studio 2008专业版编译 Winfrom 实例,修改FTP连接信息即可编译使用
javascript 树形目录 javascript 树形目录 javascript 树形目录 javascript 树形目录 javascript 树形目录 javascript 树形目录
该文件包含中常见的树形结构的目录,主要思想为创建CNLTreeMenu,然后实例化信息MyCNLTreeMenu1.InitCss。
易语言枚举目录文件到树形框源码.rar 易语言枚举目录文件到树形框源码.rar 易语言枚举目录文件到树形框源码.rar 易语言枚举目录文件到树形框源码.rar 易语言枚举目录文件到树形框源码.rar 易语言枚举目录文件到...
主要介绍了Java遍历输出指定目录、树形结构下的所有文件包括子目录中的文件,需要的朋友可以参考下
用JAVa实现 树形目录的显示,有界面