分享

java代码实现目录结构

 不老松 2020-02-21

今天用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 -  -的用途就在这里。目的就是。遍历完成以后返回上一层。继续遍历。牛逼吧。。、

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多