Java中File类的学习

BingBing-8888 / 2024-09-27 / 原文

File类


在Java中,处理文件IO(输入/输出)时,File 类是一个非常重要的类,但它本身并不属于IO流(Stream)体系。File 类是 java.io 包的一部分,它代表文件和目录路径名的抽象表示形式。File 类可以用来创建、删除、重命名文件和目录,检查文件或目录是否存在,获取文件或目录的属性(如大小、修改时间等),以及遍历目录树等。

尽管 File 类不直接用于数据的读写(这是由IO流类如 FileInputStreamFileOutputStreamFileReaderFileWriter 等来完成的),但它为这些操作提供了基础的文件或目录路径信息。

以下是一些使用 File 类的基本示例:

创建File对象

File file = new File("example.txt");

这行代码创建了一个指向当前工作目录下名为 "example.txt" 的文件的 File 对象。如果该文件不存在,File 对象仍然会被创建,但它不会创建实际的文件在文件系统中,除非你调用了一些如 createNewFile() 的方法。

检查文件是否存在

boolean exists = file.exists();

创建新文件

boolean created = file.createNewFile(); // 如果文件不存在,则创建文件

删除文件

boolean deleted = file.delete(); // 删除文件

获取文件大小

long size = file.length(); // 获取文件大小(以字节为单位)

遍历目录

虽然 File 类本身不直接提供遍历目录的流式接口,但你可以使用它的 listFiles() 方法来获取目录下的所有文件和目录的 File 数组,然后遍历这个数组。

File directory = new File("."); // 当前目录
File[] files = directory.listFiles();
if (files != null) {
    for (File file : files) {
        System.out.println(file.getName());
    }
}

请注意,listFiles() 方法在目录不存在或由于安全限制无法访问时可能返回 null

总的来说,File 类是Java中处理文件和目录路径的基石,但它并不直接参与数据的读写操作,这些操作是由IO流类来完成的。