Java 中,File 类的一些常用操作比如过滤,遍历等操作

import java.io.File;

import java.io.IOException;

/**
 * File的一些常用操作比如过滤,遍历等操作
 */
public class FileUtils {


/*
* 列出指定目录下(包括其子目录)的所有文件
* */

    public static void listDirectory(File dir) throws IOException {
        if (!dir.exists()) {//如果文件不存在
            throw new IllegalArgumentException("目录:" + dir + "不存在.");
        }
        if (!dir.isDirectory()) {//判断是否是目录
            throw new IllegalArgumentException(dir + "不是目录");
        }


        /*//list()方法用于列出当前目录下的子目录和文件
        String[] filenames = dir.list();//返回的是字符串数组 直接子目录的名称,
        //不包含子目录下的内容名称
        for (String  string:filenames) {
            System.out.println(dir+"\\"+string);
        }*/

        //如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了直接返回
        //  Fiel对象的api
        File[] files = dir.listFiles();//返回的是直接子目录的对象
        if (files != null && files.length > 0) {//判断其子目录下是否存在内容
            for (File file : files) {
                if (file.isDirectory()) {
                    //递归
                    listDirectory(file);
                } else {
                    System.out.println(file);
                }
            }

        }


    }

}

--------------------------------------------------------------------------------------------------------

import java.io.File;
import java.io.IOException;

/**
 * 测试类
 */
public class FileUtilsTest1 {
    public static void  main(String[] args) throws IOException {
        FileUtils.listDirectory(new File("D:\\JAVA\\学习资料"));
       /*
        结果:遍历出了学习资料下的所有子目录名称,但是每个子目录下的文件不再遍历
        D:\JAVA\学习资料51CTO下载-阿里巴巴Java开发手册(2017年正式版).pdf
        D:\JAVA\学习资料Head+First+Java+(中文版).pdf
        D:\JAVA\学习资料Java学习文档
        D:\JAVA\学习资料Java编程思想第四版完整中文高清版.pdf
        D:\JAVA\学习资料jdk-8u121-windows-x64.exe
*/

/*
      结果: 使用File类的listFiles()方法,获得file对象,然后做递归操作,可以获得其子目录下的内容信息
        D:\JAVA\学习资料\51CTO下载-阿里巴巴Java开发手册(2017年正式版).pdf
        D:\JAVA\学习资料\Head+First+Java+(中文版).pdf
        D:\JAVA\学习资料\Java学习文档\controller跳转到jsp.doc
        D:\JAVA\学习资料\Java学习文档\html网页.doc
        D:\JAVA\学习资料\Java学习文档\jQuery获取trtd的值.docx
        D:\JAVA\学习资料\Java学习文档\Jsp显示controller里的list.docx
        D:\JAVA\学习资料\Java学习文档\mvc与分层区别.docx
        D:\JAVA\学习资料\Java学习文档\SpringMVC工作原理.doc
        D:\JAVA\学习资料\Java学习文档\SSM登录项目.doc
        D:\JAVA\学习资料\Java学习文档\~$c与分层区别.docx
        D:\JAVA\学习资料\Java学习文档\乱码问题.docx
        D:\JAVA\学习资料\Java学习文档\创建springmvc.docx
        D:\JAVA\学习资料\Java学习文档\子龙笔记.docx
        D:\JAVA\学习资料\Java学习文档\集成jdbc+springmvc+jsp小项目.doc
        D:\JAVA\学习资料\Java编程思想第四版完整中文高清版.pdf
        D:\JAVA\学习资料\jdk-8u121-windows-x64.exe
*/







    }
}

猜你喜欢

转载自blog.csdn.net/qq_28944815/article/details/78290378