用java构造一个带层次的文件目录遍历器

import java.util.List;
import java.io.File;
import java.util.ArrayList;

public class IteratorUtil {
    private static int level=0;
        public static void IteratorDir(File file){
            if(file!=null){
                if(file.isFile()||file.listFiles().length ==0){
                    return;
                }else{
                    File[] files=file.listFiles();
                    files=sort(files);
                    for (File f : files) {
                        StringBuilder sb = new StringBuilder();
                        if(f.isFile()){
                            sb.append(getTab(level));
                            sb.append(f.getName());
                        }else{
                            sb.append(getTab(level));
                            sb.append(f.getName());
                            sb.append("\\");
                        }
                        System.out.println(sb.toString());
                        if(f.isDirectory()){
                            level++;
                            IteratorDir(f);
                            level--;
                        }

                    }
                }
            }
        }
        private static File[] sort(File[] files){
            List<File> flist = new ArrayList<File>();
            for (File f : files) {
                if(f.isDirectory()){
                    flist.add(f);
                }

            }
            for (File f : files) {
                if(f.isFile()){
                    flist.add(f);
                }

            }
            return flist.toArray(new File[flist.size()]);
        }
        private static String getTab(int level){
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < level; i++) {
                sb.append("\t");

            }
            return sb.toString();
        }

}
时间: 2024-08-28 21:57:44

用java构造一个带层次的文件目录遍历器的相关文章

java中不带package和带package的编译运行方式

Java中不带package的程序和带package的程序编译的方式是不同的. 一.不带package的程序建立个HelloWorld.java的文件,放入C:\,内容如下:public class HelloWorld{   public static void main(String args[])   //向屏幕上写字符串"HelloWorld!"    {      System.out.println("HelloWorld!");    }} 1.编译 

java发邮件带附件实例

package cn.bric.crm.util; import java.util.Date; import java.util.Enumeration; import java.util.Properties; import java.util.Vector; import javax.activation.*; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Multipart; i

Java发邮件带附件测试通过

package cn.bric.crm.util; import java.util.Date; import java.util.Enumeration; import java.util.Properties; import java.util.Vector; import javax.activation.*; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Multipart; i

学了编译原理能否用 Java 写一个编译器或解释器?

16 个回答 默认排序? RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和解释器.其实用什么语言来实现编译器并不是最重要的部分(虽然Java也不是实现编译器最方便的语言),最初用啥语言都可以. 我在大学的时候,我们的软件工程和计算机科学的编译原理课的作业好像都是可以用Java来写的.反正我印象中我给这两门课写的作业都是用的Java. ===================

IOS的一个带动画的多项选择的控件(一)

先上效果图: 这个程序分2个层次,一个是顶部的带UITextField的bar,一个是下拉选择的view,下拉选择的view带有4个自定义的UIView 我们先定义一个UIViewController叫MyViewController,然后顶部的bar叫TopBarView,下拉选择的view叫TypeSelectView,像UIButton的自定义的view叫做TypeView TypeView有两种状态,如果手指触摸到的item就是选中状态,所以TypeSelectView应该有个属性表示当

「六」创建一个带 weblogic 服务的基础镜像

Weblogic Weblogic 简介以及其在 Docker 环境下的特殊应用 WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发.集成.部署和管理大型分布式Web应用.网络应用和数据库应用的Java应用服务器.是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器.目前weblogic在世界ap

Java高级应用(一)-文件目录监控服务

最近,在研究一些比较成熟的框架,这其中也发现了一些比较不错的文章,现给大家简单翻译其中的一部分(强烈建议大家看一些原版的英文文章,很有帮助). 译:原文链接 你有没有发现,当你编辑一个文件,同时使用另一个IDE或编辑器进行编辑的时候,会出现一个对话框通知"一个打开的文件的已经改变,是否需要重新加载?".但像NetBeans IDE等一些应用程序只是静静地更新文件而没有通知你. 要实现这种"文件监控"功能,程序必须能够检测到在文件系统相关的目录中发生了什么.一种方法是

[daily][dpdk] 网卡offload识别包类型;如何模拟环境构造一个vlan包

第一部分 硬件识别包类型 网卡,是可以识别包类型的.在dpdk的API中.识别完之后,存在这个结构里: struct rte_mbuf { ...... union { uint32_t packet_type; /**< L2/L3/L4 and tunnel information. */ struct { uint32_t l2_type:4; /**< (Outer) L2 type. */ uint32_t l3_type:4; /**< (Outer) L3 type. */

为什么用 Java:一个 Python 程序员告诉你

这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Java?为啥是Java?” 说实话,本人刚开始的时候也是同样的反应.但是由于Java的类型安全,执行性能和坚如磐石的工具,我渐渐地开始欣赏Java.同时我注意到,现在的Java已今非昔比——它在过去的10年间稳健地改善着. 缘何是Java? 假 设每天都用Java的想法还没有让君恶心到食不下咽,我在此