• File 类的一个对象,代表一个文件或者文件目录
  • File 类声明在 java.io 包下

    1. 创建File实例

    1.1 路径问题

    【使用相对路径】
    File 能识别的相对路径是从当前项目目录(src外)开始算的,
    image.png

    1. public class Test {
    2. public static void main(String[] args) {
    3. File file = new File("hello.txt") ;
    4. }
    5. }

    【使用绝对路径】
    绝对路径要注意的就是层与层之间的分隔符。

  • windows使用 ‘\’ 来表示

  • UNIX和URL使用 ‘/‘ 来表示

Java 为了解决不同平台下分隔符不同的问题,File 类提供了一个常量:public static final String separator

  1. public class Test {
  2. public static void main(String[] args) {
  3. File file = new File("d:"+File.separator+"Java"+File.separator+"hello.txt") ;
  4. }
  5. }
如上述代码所示,"d:"+File.separator+"Java"+File.separator+"hello.txt" 在 Windows 下就是 d:\Java\hello.txt,在 UNIX 下就是 d:/Java/hello.txt。<br />注意,反斜杠 '\' 在 Java 中是转义字符,因此,想要传入正确的windows绝对路径,要使用双反斜杠"\\"来作为分隔符。

1.2 三种构造器

  • 构造器1:

直接传入路径,相对绝对都可以

File file1 = new File("D:\\Java\\JavaProject\\FileTest") ;
  • 构造器2

两个参数,左参为父路径,右参在父路径下的文件或文件目录

File file2 = new File("D:\\Java\\JavaProject","FileTest") ;
  • 构造器3

两个参数,左参为作为父路径的File型对象,右参为该父路径下的文件或文件目录

File file1 = new File("D:\\Java\\JavaProject") ;
File file3 = new File(file1,"FileTest") ;

2. File 的常用方法

2.1 查询

返回类型 方法名 功能
String getAbsolutePath 获取绝对路径
String getPath 获取相对路径
String getName 获取名称
String getParent 获取上层目录,若无则返回null
long length 获取文件字节数,不能对目录操作
long lastModified 获取最后一次修改时间
String[] list 获取目录下所有文件或文件目录的名称数组。不能对文件操作
File[] listFiles 获取指定目录下的所有文件或者文件目录的 File 数组

2.2 判断

返回类型 方法名 功能
boolean isDirectiory 判断是否为目录
boolean isFile 判断是否为文件
boolean exist 判断是否存在
boolean canRead 判断是否可读
boolean canWrite 判断是否可写
boolean isHidden 判断是否隐藏