Java 文件处理

2025年3月26日 | 阅读 7 分钟

在 Java 中,File 是一个抽象数据类型。用于存储相关信息的命名位置称为文件。有几种文件操作,如创建新文件、获取文件信息、向文件写入、从文件读取删除文件

在理解文件操作之前,需要了解流 (Stream)文件方法 (File methods)。如果您已经了解了这两者,可以跳过。

Stream

一系列数据称为流 (stream)。在 Java 中,分为两类,即字节流 (Byte Stream)字符流 (Character Stream)

File Operations in Java

字节流

字节流主要处理字节数据。使用字节流进行文件处理的过程是将字节数据作为输入并对其进行执行。

字符流

字符流主要处理字符数据。使用字符流进行文件处理的过程是将字符数据作为输入并对其进行执行。

要了解更多关于流的信息,点击此处

Java 文件类方法

序号方法返回值描述
1.canRead()BooleancanRead() 方法用于检查是否可以读取文件数据。
2.createNewFile()BooleancreateNewFile() 方法用于创建一个新的空文件。
3.canWrite()BooleancanWrite() 方法用于检查是否可以将数据写入文件。
4.exists()Booleanexists() 方法用于检查指定的文件是否存在。
5.delete()Booleandelete() 方法用于删除文件。
6.getName()StringgetName() 方法用于获取文件名。
7.getAbsolutePath()StringgetAbsolutePath() 方法用于获取文件的绝对路径名。
8.length()Longlength() 方法用于获取文件的大小(以字节为单位)。
9.list()String[]list() 方法用于获取目录中可用文件的数组。
10.mkdir()Booleanmkdir() 方法用于创建新目录。

文件操作

我们可以对文件执行以下操作

  • 创建文件
  • 获取文件信息
  • 写入文件
  • 从文件读取
  • 删除文件
File Operations in Java

创建文件

创建文件操作用于创建一个新文件。我们使用文件的 createNewFile() 方法。createNewFile() 方法在成功创建新文件时返回 true,在文件已存在时返回 false。

让我们举一个创建文件的例子,以了解如何使用 createNewFile() 方法来执行此操作。

CreateFile.java

输出

File Operations in Java
File Operations in Java

说明

在上面的代码中,我们导入了 File 和 IOException 类,分别用于执行文件操作和处理错误。我们创建了 File 类的 f0 对象,并指定了要创建文件的目录位置。在 try 块中,我们通过 f0 对象调用 createNewFile() 方法在指定位置创建新文件。如果方法返回 false,则会跳转到 else 部分。如果发生任何错误,则会在 catch 块中进行处理。

获取文件信息

执行该操作以获取文件信息。我们使用几种方法来获取文件的信息,例如名称、绝对路径、是否可读、是否可写以及大小。

让我们举一个例子来理解如何使用文件方法获取文件信息。

FileInfo.java

输出

File Operations in Java

描述

在上面的代码中,我们导入了 java.io.File 包并创建了一个名为 FileInfo 的类。在 main 方法中,我们创建了我们在上一个示例中创建的文本文件的对象。我们使用条件语句检查文件是否存在,如果存在,则获取有关该文件的以下信息

  1. 我们使用 getName() 获取文件名。
  2. 我们使用文件的 getAbsolutePath() 方法获取文件的绝对路径。
  3. 我们使用 canWrite() 检查是否可以将数据写入文件。
  4. 我们使用 canRead() 检查是否可以读取文件数据。
  5. 我们使用 length() 获取文件的大小。

如果文件不存在,我们则显示自定义消息。

写入文件

我们可以对文件执行的下一个操作是“写入文件”。为了将数据写入文件,我们将使用 FileWriter 类及其 write() 方法。我们需要使用 close() 方法关闭流以释放分配的资源。

让我们举一个例子来理解如何将数据写入文件。

WriteToFile.java

输出

File Operations in Java
File Operations in Java

说明

在上面的代码中,我们导入了 java.io.FileWriterjava.io.IOException 类。我们创建了一个名为 WriteToFile 的类,在其 main 方法中使用 try-catch 块。在 try 部分,我们创建了 FileWriter 类的实例,即 fwrite。我们调用 FileWriter 类的 write 方法,并将要写入的内容传递给该函数。之后,我们调用 FileWriter 类的 close() 方法来关闭文件流。在写入内容并关闭流后,我们打印自定义消息。

如果在 try 部分发生任何错误,则会跳转到 catch 块。在 catch 块中,我们处理 IOException 并打印自定义消息。

从文件读取

我们可以对文件执行的下一个操作是“从文件读取”。为了将数据写入文件,我们将使用 Scanner 类。在这里,我们需要使用 close() 方法关闭流。我们将创建 Scanner 类的实例,并使用 hasNextLine() 方法nextLine() 方法从文件获取数据。

让我们举一个例子来理解如何从文件读取数据。

ReadFromFile.java

输出

File Operations in Java

说明

在上面的代码中,我们导入了 “java.util.Scanner”, “java.io.File”“java.io.IOException” 类。我们创建了一个名为 ReadFromFile 的类,在其 main 方法中使用 try-catch 块。在 try 部分,我们创建了 ScannerFile 类的实例。我们将 File 类对象传递给 Scanner 类对象,然后使用 “While” 循环迭代 scanner 类对象并打印文件的每一行。我们还需要关闭 scanner 类对象,因此我们使用 close() 函数。如果在 try 部分发生任何错误,则会跳转到 catch 块。在 catch 块中,我们处理 IOException 并打印自定义消息。

删除文件

我们可以对文件执行的下一个操作是“删除文件”。为了删除文件,我们将使用文件的 delete() 方法。我们不需要使用 close() 方法关闭流,因为在删除文件时,我们既不使用 FileWriter 类也不使用 Scanner 类。

让我们举一个例子来理解如何将数据写入文件。

DeleteFile.java

输出

File Operations in Java

说明

在上面的代码中,我们导入了 File 类并创建了一个名为 DeleteFile 的类。在该类的 main() 方法中,我们创建了要删除文件的 f0 对象。在 if 语句中,我们通过 f0 对象调用文件的 delete() 方法。如果 delete() 方法返回 true,则打印成功自定义消息。否则,它会跳转到 else 部分,在那里打印不成功自定义消息。

以上所有提到的操作都用于以编程方式读取、写入、删除和创建文件。


下一个主题Java File 类