• 遍历文件夹


    -------------siwuxie095

       

       

       

       

       

       

       

    工程结构目录如下:

       

       

       

       

    代码:

       

    package com.siwuxie095.filescan;

       

    import java.io.File;

       

    public class Scanner {

       

    public static void main(String[] args) {

     

    //如果要打印当前工程文件夹 FileScanner 下的所有数据:

    //

    //第一个参数传入一个匿名对象,这里是文件对象,其中的路径有两种写法

    //第一种做法:传入绝对路径:E:/workspace/FileScanner (注意:要使用斜杠/,而不能使用 反斜杠

    //第二种做法:如果不指定绝对路径,则默认使用相对路径

    //相对路径获取当前的文件夹 FileScanner 的方法:../FileScanner

    //其中 ../ 是获取当前路径的上一级文件,对应 workspace 文件夹,再加上 FileScanner

    // 获取上一层(workspace)中的文件夹 FileScanner,也即项目本身

    //

    //第二个参数,即缩进量,设为 1

    printFiles(new File("E:/workspace/FileScanner"), 1);

    }

       

     

     

    /**

    * 因为主方法使用了static 所以 print()也要加 static 才能被调用

    * (静态方法不能调用/访问非静态的方法和属性)

    *

    * 传入一个文件对象,实际上是路径,因为是遍历文件夹,命名为 dir

    * 再传入一个参数 tab 作为缩进量,使用缩进来明确层次结构

    *

    * @param dir

    * @param tab

    */

    public static void printFiles(File dir,int tab) {

     

    //先判断dir是否是路径

    if (dir.isDirectory()) {

     

    //FilelistFiles()方法 返回File对象的数组,

    //其中包含了当前目录下的子文件和子文件夹结构

    //创建一个File类型的数组 next[]来接收返回值

    File next[]=dir.listFiles();

     

     

    //使用for循环来遍历当前的数组

    for (int i = 0; i < next.length; i++) {

     

    //在输出之前先缩进,根据tab的数量来确定缩进

    for (int j = 0; j < tab; j++) {

    System.out.print("|--");

    }

     

    //无论当前的文件是文件还是文件夹,都输出其名称 getName()

    System.out.println(next[i].getName());

     

    //如果是文件夹,需要再列出其下一级的所有的元素(内部的结构)

    if (next[i].isDirectory()) {

    //循环调用,且下一级文件结构要多缩进一个 tab+1

    printFiles(next[i], tab+1);

    }

    }

    }

    }

    }

       

       

    运行一览:

       

       

       

       

       

    注意:隐藏文件也会被打印出来

     

    应用:可以使用这种方法来查看系统中的所有文件(包括隐藏文件)

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    UTF-8 GBK UTF8 GB2312 之间的区别和关系
    为什么要需求分析
    数据库建表原则
    使用SQL存储过程有什么好处 用视图有什么好处
    SQL使用视图的优缺点
    百度地图添加多个行政区划
    性能测试日志分析之awk基础用法
    Nginx 安装配置
    linux的top命令参数详解
    Java小程序Linux下运行
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6612620.html
Copyright © 2020-2023  润新知