zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    WeQuant交易策略—NATR
    WeQuant交易策略—网格交易
    免交易手续费的数字货币交易所
    WeQuant交易策略—ATR
    WeQuant交易策略—RSI
    WeQuant交易策略—BOLL
    WeQuant交易策略—KDJ
    WeQuant交易策略—MACD
    WeQuant交易策略—EMA指标
    WeQuant交易策略—简单均线
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3594705.html
Copyright © 2011-2022 走看看