Java File 类详解
1. 概述
File
类是 Java 提供的用于文件和目录路径名的抽象表示。它能够用于创建、删除、查询文件和目录的信息,但不用于读写文件内容。如果需要对文件进行读写,可以结合 FileReader
、FileWriter
、BufferedReader
等类来完成。
2. File
类的构造方法
Java 提供了多种构造方法来创建 File
对象:
import java.io.File;
public class FileConstructorDemo {
public static void main(String[] args) {
// 直接指定文件名
File file1 = new File("test.txt");
// 指定目录 + 文件名
File file2 = new File("/home/user", "test.txt");
// 先指定目录,再指定文件
File parentDir = new File("/home/user");
File file3 = new File(parentDir, "test.txt");
System.out.println("文件 1: " + file1.getAbsolutePath());
System.out.println("文件 2: " + file2.getAbsolutePath());
System.out.println("文件 3: " + file3.getAbsolutePath());
}
}
3. File
类的常见方法
3.1 创建和删除文件
import java.io.File;
import java.io.IOException;
public class FileCreateDeleteDemo {
public static void main(String[] args) {
File file = new File("example.txt");
try {
if (file.createNewFile()) {
System.out.println("文件创建成功: " + file.getAbsolutePath());
} else {
System.out.println("文件已存在!");
}
} catch (IOException e) {
e.printStackTrace();
}
// 删除文件
if (file.delete()) {// 如果删除的是文件,不经过回收站,直接删除
//如果删除的是空文件夹,一样
//如果删除的是有内容的文件夹,删除失败
System.out.println("文件已删除。");
} else {
System.out.println("删除失败,可能文件不存在。");
}
}
}
3.2 获取文件信息
import java.io.File;
public class FileInfoDemo {
public static void main(String[] args) {
File file = new File("example.txt");
System.out.println("文件名称: " + file.getName());
System.out.println("文件路径: " + file.getPath());
System.out.println("绝对路径: " + file.getAbsolutePath());
System.out.println("是否存在: " + file.exists());
System.out.println("是否是文件: " + file.isFile());
System.out.println("是否是目录: " + file.isDirectory());
System.out.println("文件大小 (字节): " + file.length());// 无法获取文件夹大小
}
}
3.3 目录管理
import java.io.File;
public class DirectoryDemo {
public static void main(String[] args) {
File dir = new File("testDir");
if (!dir.exists()) {
if (dir.mkdir()) {
System.out.println("目录创建成功: " + dir.getAbsolutePath());
} else {
System.out.println("目录创建失败!");
}
}
// 列出目录中的所有文件
String[] fileList = dir.list();
if (fileList != null) {
System.out.println("目录内容:");
for (String file : fileList) {
System.out.println(" " + file);
}
}
}
}
4. 总结
File
类用于表示文件和目录,但不用于文件内容的操作。- 可以使用
File
类创建、删除文件和目录,并获取文件的各种属性。 File
类不提供读写功能,文件操作需要使用FileReader
、FileWriter
等类。- 使用
File
类时,应始终检查exists()
以避免错误操作。
通过 File
类,Java 提供了对文件和目录的基本管理能力,使开发者能够轻松地进行文件操作。