美文网首页java随笔
File 文件夹操作----过滤器

File 文件夹操作----过滤器

作者: 71150ce14a00 | 来源:发表于2017-07-01 22:32 被阅读14次
    1. File(String pathname)

    注意:这里pathname不对路径做任何判断,这个构造方式只是将字符串封装成File对象

    2.File(File parent,String child)

    parent表示父目录
    child表示子文件或者子文件夹

    绝对路径:带盘符的,全路径 D:/aaa/bbb/ccc
    相对路径 : 相对于项目的路径

    获取绝对路径:
    getAbsoluteFile()
    getAbsolutePath() 如果是相对路径也会自动转为绝对路径
    getName() 获取路径的最后一个文件或者文件夹的名字
    getParent()返回父目录名
    getparentFile()

    返回null的几种情况:
    1.指定路径没有内容
    2.只有根路径
    3.只写一个文件或文件夹
    getPath() 将File类型转换String类型
    无论在指定路径中书写什么内容,那么getPath都会获取内容

    getTotalSpace() 获取总空间大小
    getFreeSpace() 获取剩余空间大小
    File.listRoots() 获取根目录列表
    lastModified() 获取最后修改时间
    createNewFile() 创建文件和文件夹
    注意:如果父路径存在,子文件不存在,创建文件。 子文件存在,不创建,如果指定的父路径不存在,抛异常

    mkdir() 创建一个文件夹
    mkdirs() 创建多个文件夹

    delete() 删除,不走回收站,要求文件夹一定是空的,也就是文件夹里边不能有子文件

    isFile() 判断是否为文件
    isDirectory() 判断是否为文件夹
    exists() 判断是否存在
    isHidden判断是否为隐藏
    listFile() 获取路径下所有文件列表
    注意: 当获取指定目录没有访问权限时,获取到的是一个null

    获取指定路径下所有图片包括子文件夹:

    public static void getImg(String path){
        File f = new File(path);
        if (!f.exists()) {
            throw new RuntimeException("给顶目录不存在");
        }
        File[] files = f.listFiles();
        if (files == null) return;
        for (File file : files) {
            if (file.isDirectory()) {
                getImg(path+"\\"+file.getName());
                
            }else {
                if (file.getName().endsWith(".PNG")|| file.getName().endsWith(".jpg")) {
                    System.out.println(file.getAbsolutePath());
                }
            }
        }
    

    文件修改名字:

       File oldF = new File("F:\\aaa\\db.PNG" );
       File newF = new File(new File("F:\\aaa" ), "ccc.PNG" );
     System. out.println( oldF .renameTo(newF));
    
    文件名过滤器
    listFiles(FilenameFiler filter)
    accept(File dir, String name)
    dir: 当前name表示的文件或文件夹放到父目录
    name: 表示子文件或子文件夹名
    

    listFiles(FileFilter filter)
    accept(File pathname)
    pathname:子文件或子文件夹File对象
    

    例子:查找图片

    File f = new File("F:\\aaa");
    File[] files = f.listFiles(new FileFilter(){
          public boolean accept(File pathname){
            return pathname.isFile && pathname.getName().endWith(".jpg");
    }
    });
    

    相关文章

      网友评论

        本文标题:File 文件夹操作----过滤器

        本文链接:https://www.haomeiwen.com/subject/iabgcxtx.html