LinkNemo





Nemo博客

路漫漫其修远兮,吾将上下而求索。

  1. 博客主页
  2. 最新文章
  3. 二叉树典型:递归打印某个文件夹下的所有文件以及文件夹

二叉树典型:递归打印某个文件夹下的所有文件以及文件夹

二叉树的以前还在学校的时候开始接触的了,不过一直做的工作都跟数据结构/算法没多大的关系,所以一直没能应用。

最近在研究一些索引原理方面的内容,其中接触到不少数据结构的内容。这里先贴一下这个二叉树搜索的实现:


/**
 * Created by Nemo on 2018/1/11.
 */
public class BinaryTreeTest {

    private String basePath = "E:/";

    @Test
    public void search(){
        File file = new File(basePath);
        if(!file.exists()){
            Assert.fail("找不到指定的目录");
        }
        //开始执行搜索
        doSearch(file);
    }

    /**
     * 搜索函数
     * 罗列当前文件对象下的孩子文件,判断每个文件
     * 如果是目录那么则继续调用此函数执行递归搜索该目录
     * 如果是文件,那么则直接打印出来即可
     * @param file
     */
    private void doSearch(File file){
        if(file.isDirectory()){
            File[] files = file.listFiles();
            if(files!=null) {
                for (File f : files) {
                    if(f.isDirectory()){
                        doSearch(f);
                    }else{
                        outPrint(f);
                    }
                }
            }
        }
        outPrint(file);
    }

    /**
     * 输出方法,打印内容到控制台
     * @param file
     */
    private void outPrint(File file){
        if(file.isDirectory()){
            System.out.println("目录:"+file.getPath());
        }else{
            System.out.println("文件:"+file.getPath());
        }
    }

}


二叉树的模型可以这么表示,随便在百度百科上找的图:

b999a9014c086e06f719387b01087bf40ad1cb49


评论

About ME

Nemo

Nemo

欢迎使用这个博客!如果您在使用的过程中有好的建议或者遇到问题,欢迎给我留言~

Other ME

性别:男

生日:1993-01-01

所在城市:深圳市

工作职务:菜鸟工程师

创建时间:2015/12/31 02:13:14

My SUMMARY

我的文章:357

我的留言:42

我的粉丝:44

我的关注:98

我的点击:257177

么么哒