遍历指定目录下的所有文件和文件夹
1 import java.io.File; 2 3 public class FileTest { 4 public static void main(String[] args) { 5 File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException 6 7 List(dir1); 8 } 9 public static void List(File dir1) { 10 String[] file = dir1.list(); 11 for(String files : file){ 12 System.out.println(files); 13 } 14 } 15 }
需求:对指定目录进行所有内容的列出(包含子目录中的内容)也可以理解为深度遍历
import java.io.File; public class FileTest { public static void main(String[] args) { File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException ListAll(dir1); } //深度遍历 public static void ListAll(File dir1) { System.out.println("dir:"+dir1.getAbsolutePath()); //获取指定目录下当前的所有文件夹或者文件对象 File[] files = dir1.listFiles(); for (int i = 0; i < files.length; i++) { if(files[i].isDirectory()){ ListAll(files[i]); }else{ System.out.println("file:"+files[i].getAbsolutePath()); } } } }
深度遍历列出层级目录:
import java.io.File; public class FileTest { public static void main(String[] args) { File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException ListAll(dir1,0); } //深度遍历 public static void ListAll(File dir1,int level) { System.out.println(getSpace(level)+dir1.getName()); level++; //获取指定目录下当前的所有文件夹或者文件对象 File[] files = dir1.listFiles(); for (int i = 0; i < files.length; i++) { if(files[i].isDirectory()){ ListAll(files[i],level); }else{ System.out.println(getSpace(level)+files[i].getName()); } } } private static String getSpace(int level) { StringBuilder sb = new StringBuilder(); for(int x = 0;x<level;x++){ sb.append(" |"); } return sb.toString(); } }
File类_深度遍历文件夹_练习,布布扣,bubuko.com
原文:http://www.cnblogs.com/LO-ME/p/3594705.html