zoukankan      html  css  js  c++  java
  • java代码实现目录结构

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

  • 相关阅读:
    【原】文本图片自适应高度小bug以及解决办法
    【原】iOS学习39网络之数据请求
    【原】iOS学习38网络之数据解析
    iOS数据持久化文件读写之偏好设置
    SQLite错误码
    iOS开发代码规范(通用)
    iOS学习37数据处理之CoreData
    iOS中的单例
    iOS学习36数据处理之SQLite数据库
    UIImage两种初始化的区别
  • 原文地址:https://www.cnblogs.com/huojg-21442/p/7212249.html
Copyright © 2011-2022 走看看