28 - Java File类

File 类

  • java.io 包下,只能操作文件和目录,不能访问文件内容本身。
  • 全局静态常量
    • 路径分隔符:char pathSeparatorChar、String pathSeparator。
    • 文件名称分隔符:char separatorChar、String separator。
  • 构造器File(String pathname):将给定的路径名字符串 pathname 转换为抽象路径名来创建 File 对象File(String parent, String child):File(File parent, String child):根据 parent 抽象路径名和 child 路径名字符串创建 File 对象。

访问文件和目录

访问文件名

  • File file = new File("C:/abc/123.txt")。
  • String getName():返回此 File 对象所表示的文件名目录名,123.txt。
  • String getPath():返回此 File 对象所对应的路径名,C:/abc/123.txt。
  • File getAbsoluteFile():返回此 File 对象的绝对路径。
  • String getAbsolutePath():返回此 File 对象所对应的绝对路径名,C:/abc/123.txt。
  • File getParentFile():返回此 File 对象所对应的父路径,如果没有,返回 null,C:/abc。
  • String getParent():返回此 File 对象所对应的父路径名。

检测文件

  • boolean exists():判断 File 对象所对应的文件或目录是否真实存在。
  • boolean isFile():判断 Hie 对象所对应的是否是文件。
  • boolean isDirectory():判断 File 对象所对应的是否是目录。
  • boolean isAbsolute():判断 File 对象是否是绝对路径。
  • boolean canRead():判断 File 对象所对应的文件和目录是否可读。
  • boolean canWrite():判断 File 对象所对应的文件和目录是否可写。
  • boolean canExecute():判断应用程序是否可以执行此 File 对象所对应的文件或目录。

获取常规文件信息

  • long length():获取文件内容的长度(单位为字节)(如果此路径名表示一个目录,则返回值是不确定的)。
  • long lastModified():获取文件的最后修改时间。

操作文件

  • boolean createNewFile():当此 File 对象所对应的文件不存在但对应的父路径存在 时,新建 一个该 File 对象所指定的文件。
  • static File createTempFile(String prefix, String suffix):在默认的临时文件目录中创建一个临时的文件,使用给定前缀、 系统生成的随机数和给定后缀作为文件名(prefix 参数至少是 3 字节长,suffix 参数为 null 时,将使用默认的后缀".tmp")。
  • static File createTempFile(String prefix, String suffix, File directory):在 directory 所指定的目录中创建一个临时的文件,使用给定前缀、 系统生成的随机数和给定后缀作为文件名。
  • boolean mkdir():当此 File 对象所对应的目录不存在但对应的父目录存在 时,新建一个 File 对象所对应的目录。
  • boolean mkdirs():新建一个 File 对象所对应的目录包括 所有必需但不存在的父目录)。
  • boolean delete():删除 File 对象所对应的文件或目录。
  • void deleteOnExit():注册一个删除钩子,指定当 Java 虚拟机退出时,删除 File 对象所对应的文件或目录。
  • boolean renameTo(File dest):用指定的路径名重新命名对 File 对象所对应的文件或路径。
  • File[] listFiles():列出 File 对象的所有子文件和子目录的绝对路径,返回 File 数组。
  • String[] list():列出 File 对象的所有子文件名和子目录的名称,返回 String 数组。
  • static File[] listRoots():列出系统所有的根路径。

文件过滤器

  • String[] list(FilenameFilter filter)。
  • File[] listFiles(FilenameFilter filter):列出 File 对象的所有符合条件的子文件和目录,返回 File 数组。
  • FilenameFilter 接口中的抽象方法:boolean accept(File dir, String name)。
  • 底层依次对指定 File 的所有子目录或者文件进行迭代,如果该方法返回 true,则 list() 方法会列出该子目录或者文件。
java 复制代码
// 列出 D:\JavaApps 目录下以".java"结尾的文件(不包括子目录下)
File dir = new File("D:/JavaApps");
File[] fs = dir.listFiles(new FilenameFilter() {
    // 底层传给 dir 的是 this, 传给 name 的是 this 中的子文件名或子目录名
    public boolean accept(File dir, String name) {
        return new File(dir, name).isFile() && name.endsWith(".java");
    }
});
相关推荐
guslegend9 分钟前
SpringSecurity源码剖析
java
roman_日积跬步-终至千里43 分钟前
【人工智能导论】02-搜索-高级搜索策略探索篇:从约束满足到博弈搜索
java·前端·人工智能
大学生资源网1 小时前
java毕业设计之儿童福利院管理系统的设计与实现(源码+)
java·开发语言·spring boot·mysql·毕业设计·源码·课程设计
JasmineWr1 小时前
JVM栈空间的使用和优化
java·开发语言
Hello.Reader1 小时前
Flink SQL DELETE 语句批模式行级删除、连接器能力要求与实战避坑(含 Java 示例)
java·sql·flink
爱笑的眼睛111 小时前
从 Seq2Seq 到 Transformer++:深度解构与自构建现代机器翻译核心组件
java·人工智能·python·ai
Spring AI学习1 小时前
Spring AI深度解析(10/50):多模态应用开发实战
java·spring·ai
qq_12498707534 小时前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
大学生资源网4 小时前
java毕业设计之“知语”花卉销售网站的设计与实现源码(源代码+文档)
java·mysql·毕业设计·源码·springboot
小鸡脚来咯4 小时前
Redis三大问题:穿透、击穿、雪崩(实战解析)
java·spring·mybatis