• File类_深度遍历文件夹_练习


    遍历指定目录下的所有文件和文件夹

     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();
        }
    }
  • 相关阅读:
    准备工作
    案例分析
    阅读任务
    准备工作
    案例分析作业
    情 202103226-1 编程作业
    阅读任务
    准备工作
    4 20210412-1 原型设计作业
    3 20210405-1 案例分析作业
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3594705.html
Copyright © 2020-2023  润新知