Bootstrap

详解Java的File类(成员变量、构造方法及常用方法)

一、概述

java.io.File 类是文件和目录路径名的抽象表示
主要用于文件和目录的创建 查找和删除等操作

Java将电脑中的文件和文件夹目录封装为了一个File类
可以使用File类对文件和文件夹进行操作

可以使用File的方法来:

  • 创建一个文件/文件夹
  • 删除文件/文件夹
  • 获取文件/文件夹
  • 判断文件/文件夹是否存在
  • 对文件夹进行遍历
  • 获取文件的大小

File类是一个与系统无关的类 任何操作系统都可以使用这个类中的方法

二、File类的静态成员变量

1、路径分隔符

File.pathSeparator()

路径分隔符在Windows下为分号 在Linux下为冒号

使用:

String pathSeparator = File.pathSeparator;
System.out.println(pathSeparator);

2、文件名称分隔符

文件名称分隔符在Windows下为反斜杠 在Linux下为正斜杠

File.separator()
String separator = File.separator;
System.out.println(separator);

不同系统下的路径分隔符和文件名称分隔符是不同的

Windows:C:\code\test.txt
Linux:C:/code/test.txt

操作系统的路径不能写死
因为项目可能会部署到不同的系统下
因此 上例可写作:

"C:"+File.separator+"code"+File.separator+"test.txt"

手写分隔符用FIle类的分隔符方法代替


三、路径的概述

1、绝对路径

绝对路径是一个完整的路径
是以盘符(例:C盘或D盘)开始的路径
例:C:\\code\\

2、相对路径

相对路径是一个简化的路径
相对于当前项目的根目录(例:C:\code\)
若使用当前项目的根目录 则路径可以简化书写
例:C:\code\test.txt可简化为test.txt 省略项目的根目录

注:
1、路径是不区分大小写的
2、路径中的文件名称分隔符在Windows中使用反斜杠
反斜杠是转义字符 两个反斜杠才代表一个普通的反斜杠


四、File类的构造方法

1、File(String pathname)

public File(String pathname)

通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
参数:pathname 字符串形式的路径名称

  • 路径可以以文件结尾 也可以以文件夹结尾
  • 路径可以是相对路径 也可以是绝对路径
  • 路径可以是存在的 也可以是不存在的

创建File对象 只是将字符串的路径封装为File对象 不考虑路径的真假情况

例:

File file1=new File("F:\\IdeaProjects\\filetest\\a.txt");
System.out.println(file1);// F:\IdeaProjects\filetest\a.txt

File file2=new File("F:\\IdeaProjects\\filetest");
System.out.println(file2);// F:\IdeaProjects\filetest

File file3=new File("a.txt");
System.out.println(file3);// a.txt

2、File(String parent, String child)

public File(String parent, String child) 

从父路径名字符串和子路径名字符串创建新的File实例
参数1:parent 父路径
参数2:child 子路径

  • 父路径和子路径可以单独书写 使用灵活
  • 父路径和子路径都可以变化
private static void filemethod2(String parent, String child)
{
   
    File file=new File(parent,child);
    System.out.println(file);
}

3、File(File parent, String child)

public File(File parent, String child) 

从父抽象路径名和子路径名字符串创建新的File实例
参数1:parent 父路径
参数2:child 子路径

  • 父路径和子路径可以单独书写 使用灵活
  • 父路径是File类型 因此可以使用File类的方法对路径进行一些操作 再使用路径创建对象
// 父路径
File parent=new File("F:\\");

File file=new File(parent,"a.txt"
;