今天用java代码来实现。像我们电脑盘符那样的目录结构。在代码开始之前首先。介绍一下。用。java代码实现目录的思想。

第一步:完成基础的。大家想。我们是如何获取文件的。是不是用File类,直接就获取了。,获取完以后我们就要猜想一下。下一个是文件内容还是目录。

第二步:遍历文件。找出谁是目录谁是文件内容。此处的思维利用的是递归思想。(不过很消耗内容喲)。

第三步:完成以上两步。我们打印出来就可以看到我们的文件了,但是,这个时候的文件,没有层次感。没有像我们电脑那样的层次。并且。这个时候,你也不知道,谁是子文件,谁是并列文件。咋办额呢。

第四步:完成层次感。利用的原理就是。添加空格字符串。其实就是,每遍历一次,我就把这个地方记录下来,标记起来。然后添加空格字符串。。这样子就完成层次感了。

直接代码走起。

package com.huojg.test.Test;

import java.io.File;

/*
* 用java代码实现树状目录结构
*
* **/
public class Tree {
private static int count=0;
public static void main(String[] args) {
//1.获取目录
File file=new File("D:/登陆页面");
//8.把文件爱你作为参数进行遍历
market(file); }
//2.判断是目录还是文件内容。
public static void market(File file){
//7.否则把文件的你名字打印出来
System.out.println(makeSpace(count)+"~*"+file.getName());//输出位置也很重要,必须在头部
//3.获取这个路径的下所有的文件以及目录
File[] fil=file.listFiles();
//4.判断里面是目录。使用递归继续遍历
if(fil!=null&&fil.length>0){
count++;//如果是目录加1
//5,说明是目录利用递归继续遍历
for(File fi:fil){
market(fi);
}
count--;//上面遍历加1以后还得退回来。继续遍历
}
} //6.让目录有层次感,必须有一个标记。
public static String makeSpace(int count){
//创建空格字符串
String spack="";
for(int i=0;i<count;i++){
spack+=" ";
}
return spack;
} }

结果;

~*登陆页面
~*201404170927.rar
~*css
~*main.css
~*images
~*air-balloon-1.png
~*air-balloon-2.png
~*login-bg.jpg
~*login-foot.jpg
~*login.png
~*logo-login.png
~*index.html
~*js
~*DD_belatedPNG.js
~*fun.base.js
~*jQuery.js
~*script.js

哈哈哈、这就完成了,我们用java代码来 遍历目录的效果。

不过里面需要注意的地方很多。尤其是count++与count- -这个地方的精华。理解起来也很简单。count++就是,我们已经知道这一层是目录需要,继续遍历。这个时候。遍历完成以后我们就需要回到上一层。如果有就继续,没有就下一个。count -  -的用途就在这里。目的就是。遍历完成以后返回上一层。继续遍历。牛逼吧。。、

java代码实现目录结构的更多相关文章

  1. Eclipse JAVA项目的 目录结构 和 导入

    说明:本文所有测试以java工程为例: 1. Eclipse下的java工程目录 eclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就 ...

  2. mybatis学习笔记(六)使用generator生成mybatis基础配置代码和目录结构

    原文:http://blog.csdn.net/oh_mourinho/article/details/51463413 创建maven项目 <span style="font-siz ...

  3. JAVA WEB项目目录结构以及web应用部署的根目录,编译路径和项目根目录的区别

    本文链接:https://blog.csdn.net/l00149133/article/details/78984083 web应用部署的根目录,编译路径和项目的根目录有什么区别? 直接上例子: 你 ...

  4. 【Django】基于Django架构网站代码的目录结构

     经典的Django项目源码目录结构 Django在一个项目的目录结构划分方面缺乏必要的规范.在Django的官方文档中并没有给出大型项目的代码建议目录结构,网上的文章也是根据项目的不同结构也有适当的 ...

  5. 原生Java代码拷贝目录

    拷贝.移动文件(夹),有三方包commons-io可以用,但是有时候有自己的需求,只能使用原生java代码,这时可以用以下几种方式进行拷贝: 1.使用系统命令(Linux)调用 此种方式对操作系统有要 ...

  6. Java Web工程目录结构

    说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...

  7. [转]Java Web工程目录结构

    说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...

  8. stm32点亮LED 测试代码及目录结构

    . main.c - 使用PB12, PB13, PB14, PB15, PB5, PB6, PB7 这七个PB口点亮LED. 注意PB3和PB4是特殊口, 直接调用无效. #include &quo ...

  9. java打印树形目录结构

    import java.io.File; public class MainTest { public static void main(String[] args) { String dirname ...

随机推荐

  1. 监控目前所有连接SQL SERVER的用户信息

    原文:监控目前所有连接SQL SERVER的用户信息 if object_id('p_getlinkinfo','P')is not null drop proc p_getlinkinfo go c ...

  2. 利用mkfs.ubifs和ubinize两个工具制作UBI镜像

    转:http://blog.sina.com.cn/s/blog_9452251d01015z9h.html 有了mkfs.ubifs和ubinize两个工具后,就可以制作UBIFS镜像了,具体步骤如 ...

  3. What is Mocking?

    Mocking is primarily used in unit testing. An object under test may have dependencies on other (comp ...

  4. python装饰器的作用

    常见装饰器:内置装饰器:类装饰器.函数装饰器.带参数的函数装饰器 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常 ...

  5. Playonlinux

    apt-get install playonlinux -y apt-get install winbind -y apt-get install unzip -y 开始中搜索:playonlinux ...

  6. x-pack破解并安装

    声明:本文仅作为学习交流,请勿用于商业用途,否则后果自负.如需使用黄金或白金版X-Pack请购买正版. 1. 安装x-pack 具体安装过程参照:http://www.cnblogs.com/shao ...

  7. 【Hadoop】HDFS冗余数据块的自动删除

    HDFS冗余数据块的自动删除 在日常维护hadoop集群的过程中发现这样一种情况: 某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡, HDFS马上自动开始数据块的容错拷 ...

  8. StringBuilder.append()与String的"+"的效率PK

    如果String通过"+"来拼接,如果拼接的字符串是常量,则效率会非常高,因为会进行编译时优化,这个时候StringBuilder的append()是达不到的. 如果将String ...

  9. Java之基本类库学习

    JAVA基本类库: (一),输入相关 main(String[] args):设置输入参数 输入类:Scanner:Scanner sc=new Scanner(System.in); (二),系统相 ...

  10. Linux学习之二十-Linux文件系统

    Linux文件系统 文件系统的定义 文件系统是操作系统的必备软件,文件系统是对一个存储设备上的数据(block)和元数据(inode)进行组织的一种机制.文件系统可以帮助用户管理磁盘空间,进行文件的快 ...