JAVA遍历给定目录的所以文件和目录,java遍给定目录,package com.
分享于 点击 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
用户点评