欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JAVA遍历给定目录的所以文件和目录,java遍给定目录,package com.

来源: javaer 分享于  点击 4061 次 点评:251

JAVA遍历给定目录的所以文件和目录,java遍给定目录,package com.


package com.cash;import java.io.File;import java.util.ArrayList;public class FileTraversal {    /**     * 遍历给定目录下的所以目录和文件,并在所以目录前加上相应的缩进     * @param file 需要遍历的目录     * @param prefix 改目录相应的缩进     * @return 返回组拼好的字符串     */    public static String realFile(File file,String prefix){        StringBuffer sb = new StringBuffer("");        if(file.isFile()){            sb.append(prefix+file.getName());        }else{            sb.append(prefix+file.getName()+"\\\\");        }        if(file.isFile() || file.list().length == 0){            return sb.toString();        }else{            File[] files = file.listFiles();            files = sort(files);            for(File f : files){                sb.append("\\n");                sb.append(realFile(f," "+prefix));            }            return sb.toString();        }    }    /**     * 将文件数组进行排序,所有目录在前,文件在后     * @param files 要进行排序File数组     * @return 返回一个排好顺序的File数组     */    private static File[] sort(File[] files) {        ArrayList<File> list = new ArrayList<File>();        for(File f : files){            if(f.isDirectory()){                list.add(f);            }        }        for(File f : files){            if(f.isFile()){                list.add(f);            }        }        return list.toArray(new File[files.length]);    }    public static void main(String[] args) {        File file = new File("c:/abc");        String str = realFile(file, "");        System.out.println(str);    }}//该片段来自于http://byrx.net
相关栏目:

用户点评