💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java `File`类 > 原文: [https://www.programiz.com/java-programming/file](https://www.programiz.com/java-programming/file) #### 在本教程中,我们将借助示例学习 Java `File`及其各种操作。 `java.io`包的`File`类用于对文件和目录执行各种操作。 还有一个名为`java.nio`的包,可用于处理文件。 但是,在本教程中,我们将重点介绍`java.io`包。 * * * ## 文件和目录 文件是可用于存储相关信息的命名位置。 例如, `main.java`是一个 Java 文件,其中包含有关 Java 程序的信息。 目录是文件和子目录的集合。 目录内的目录称为子目录。 * * * ## 创建一个 Java 文件对象 要创建`File`的对象,我们需要首先导入`java.io.File`包。 导入包后,就可以创建文件对象。 ```java // creates an object of File using the path File file = new File(String pathName); ``` 在这里,我们创建了一个名为`file`的文件对象。 该对象可用于处理文件和目录。 **注意**:在 Java 中,创建文件对象并不意味着创建文件。 相反,文件对象是文件或目录路径名的抽象表示(在括号中指定)。 * * * ## Java 文件操作方法 | 操作 | 方法 | 包 | | --- | --- | --- | | 创建文件 | `createNewFile()` | `java.io.File` | | 读取文件 | `read()` | `java.io.FileReader` | | 写入文件 | `write()` | `java.io.FileWriter` | | 删除文件 | `delete()` | `java.io.File` | * * * ### Java 创建文件 要创建一个新文件,我们可以使用`createNewFile()`方法。 它返回 * `true`如果创建了新文件。 * `false`如果文件已存在于指定位置。 ### 示例:创建一个新文件 ```java // importing the File class import java.io.File; class Main { public static void main(String[] args) { // create a file object for the current location File file = new File("newFile.txt"); try { // trying to create a file based on the object boolean value = file.createNewFile(); if (value) { System.out.println("The new file is created."); } else { System.out.println("The file already exists."); } } catch(Exception e) { e.getStackTrace(); } } } ``` 在上面的示例中,我们创建了一个名为`file`的文件对象。 文件对象与指定的文件路径链接。 ```java File file = new File("newFile.txt"); ``` 在这里,我们使用了文件对象来创建具有指定路径的新文件。 **如果当前位置**中不存在`newFile.txt`,则会创建文件并显示此消息。 ```java The new file is created. ``` **但是,如果`newFile.txt`已经存在**,我们将看到此消息。 ```java The file already exists. ``` * * * ### Java 读取文件 要从文件中读取数据,我们可以使用 [InputStream](/java-programming/inputstream "Java InputStream Class") 或 [Reader](/java-programming/reader "Java Reader Class") 的子类。 ### 示例:使用`FileReader`读取文件 假设我们有一个名为`input.txt`的文件,其内容如下。 ```java This is a line of text inside the file. ``` 现在,让我们尝试使用 Java `FileReader`读取文件。 ```java // importing the FileReader class import java.io.FileReader; class Main { public static void main(String[] args) { char[] array = new char[100]; try { // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file:"); System.out.println(array); // Closes the reader input.close(); } catch(Exception e) { e.getStackTrace(); } } } ``` **输出** ```java Data in the file: This is a line of text inside the file. ``` 在上面的示例中,我们使用了创建`FileReader`的名为`input`的对象。 现在,它已与`input.txt`文件链接。 ```java FileReader input = new FileReader("input.txt"); ``` 要从`input.txt`文件读取数据,我们使用了`FileReader`的`read()`方法。 * * * ### Java 写入文件 要将数据写入文件,我们可以使用 [OutputStream](/java-programming/outputstream "Java OutputStream Class") 或 [Writer](/java-programming/writer "Java Writer Class") 的子类。 ### 示例:使用`FileWriter`写入文件 ```java // importing the FileWriter class import java.io.FileWriter; class Main { public static void main(String args[]) { String data = "This is the data in the output file"; try { // Creates a Writer using FileWriter FileWriter output = new FileWriter("output.txt"); // Writes string to the file output.write(data); System.out.println("Data is written to the file."); // Closes the writer output.close(); } catch (Exception e) { e.getStackTrace(); } } } ``` **输出** ```java Data is written to the file. ``` 在上面的示例中,我们使用`FileWriter`类创建了一个`writer`。 写入器与`output.txt`文件链接。 ```java FileWriter output = new FileWriter("output.txt"); ``` 要将数据写入文件,我们使用了`write()`方法`.` 在这里,当我们运行程序时,`output.txt`文件填充了以下内容。 ```java This is the data in the output file. ``` * * * ### Java 删除文件 我们可以使用`File`类的`delete()`方法删除指定的文件或目录。 它返回 * `true`如果文件被删除。 * `false`如果文件不存在。 **注意**:我们只能删除空目录。 ### 示例:删除文件 ```java import java.io.File; class Main { public static void main(String[] args) { // creates a file object File file = new File("file.txt"); // deletes the file boolean value = file.delete(); if(value) { System.out.println("The File is deleted."); } else { System.out.println("The File is not deleted."); } } } ``` **输出**: ```java The File is deleted. ``` 在上面的示例中,我们创建了一个名为`file`的`File`对象。 该文件现在包含有关指定文件的信息。 ```java File file = new File("file.txt"); ``` 在这里,我们已使用`delete()`方法删除该对象指定的文件。 **相关示例** * [Java 创建目录](/java-programming/examples/create-directory "Java Program to create directories") * [Java 重命名文件](/java-programming/examples/rename-file "Java Program to rename file") * [Java 列出目录中的文件](/java-programming/examples/list-files "Java Program to list files in a directory") * [Java 复制文件](/java-programming/examples/copy-file "Java Program to copy file")