• java File类小结


    File类

    构造方法:

    public File(String pathname)//将给定路径字符串转换成抽象路径名来创建新的File实例
    public File(String parent, String child)//从父路径名字符串和子路径名字符串创建新的File实例
    public File(File parent, String child)//从父抽象路径名和子路径字符串创建新的File实例
    

    tips:

    1. 一个File对象代表硬盘中实际存在的一个文件或者目录
    2. 无论该路径下是否存在文件或目录,都不影响File对象的创建

    常用方法

    获取功能的方法

    public String getAbsolutePath()//返回词File的绝对路径名字符串
    public String geiPath()//将此File对象转换成路径名字符串
    public String getName()//返回由此File表示的文件或目录的名称
    public long length()//返回次File表示的文件的长度
    

    注意:

    1. getName的源码就是getPath
    2. 文件夹的大小没有意义

    判断功能的方法

    public boolean exists()//此File表示的文件或目录是否实际存在
    public boolean isDirectory()// 是否为目录
    public boolean isFile()//是否为文件
    

    删除功能的方法

    public boolean creatNewFile()//当且仅当具有该名称的文件尚不存在时,创建一个新的空文件(默认抛出IoException)
    public boolean delete() //删除目录或文件(必须File对象为空)    
    public boolean mkdir()//创建一个文件夹
    public boolean mkdirs()//创建多级文件夹
    

    目录的遍历

    public String[] list()//返回一个字符串数组,表示该file目录中的所有子文件或目录(包含隐藏文件)
    public File[] listFiles()//返回一个File数组,表示该file目录中的所有子文件或目录(包含隐藏文件)
    

    注意:

    调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。

    文件过滤器优化

    java.io.FileFilter是一个接口,是File的过滤器。 该接口的对象可以传递给File类的listFiles(FileFilter) 作为参数, 接口中只有一个方法。

    boolean accept(File pathname) :测试pathname是否应该包含在当前File目录中,符合则返回true。

    分析

    1. 接口作为参数,需要传递子类对象,重写其中方法。我们选择匿名内部类方式,比较简单。
    2. accept方法,参数为File,表示当前File下所有的子文件和子目录。保留住则返回true,过滤掉则返回false。
    3. 通过过滤器的作用,listFiles(FileFilter)返回的数组元素中,子文件对象都是符合条件的,可以直接打印。

    ``public interface FilenameFilter`:实现此接口的类实例可用于过滤器文件名。

    boolean accept(File dir, String name)
    

    测试指定文件是否应该包含在某一文件列表中。

    • 参数:

      dir - 被找到的文件所在的目录。

      name - 文件的名称。

    • 返回:

      当且仅当该名称应该包含在文件列表中时返回 true;否则返回 false

  • 相关阅读:
    五种提高 SQL 性能的方法
    join 使用详解方式
    关于MagicAjax的用法
    收藏几段SQL Server语句和存储过程
    ubuntu nfs配置 以及mount.nfs:access denied by server while mounting问题解决
    Hisi开发板上 SQLite3.3.8移植
    父进程非阻塞回收子进程(适用LINUX下C语言的clientserver模型)
    busybox asm/page.h: No such find.
    ubuntu11.10 samba服务器配置
    errno定义
  • 原文地址:https://www.cnblogs.com/zx-coder/p/12853729.html
Copyright © 2020-2023  润新知