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");
    }
});
相关推荐
工业互联网专业17 分钟前
基于springboot+vue的高校社团管理系统的设计与实现
java·vue.js·spring boot·毕业设计·源码·课程设计
九圣残炎19 分钟前
【ElasticSearch】 Java API Client 7.17文档
java·elasticsearch·搜索引擎
m0_748251521 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
Bro_cat1 小时前
深入浅出JSON:数据交换的轻量级解决方案
java·ajax·java-ee·json
等一场春雨2 小时前
Java设计模式 五 建造者模式 (Builder Pattern)
java·设计模式·建造者模式
hunzi_12 小时前
Java和PHP开发的商城系统区别
java·php
V+zmm101342 小时前
教育培训微信小程序ssm+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计
十二同学啊2 小时前
Spring Boot 中的 InitializingBean:Bean 初始化背后的故事
java·spring boot·后端
我劝告了风*2 小时前
NIO | 什么是Java中的NIO —— 结合业务场景理解 NIO (二)
java·nio
阿乾之铭2 小时前
NIO 和 Netty 在 Spring Boot 中的集成与使用
java·开发语言·网络