Java - 使用 IO - 说明

Java - Working with IO - Clarification

我正在 Java 上几节课,讲师开始介绍 IO 在 Java 中的工作原理。我有几个问题,有经验的 Java 程序员可以澄清。

下面的这段代码是一个程序,它在我编写代码的同一文件目录中创建一个(记事本)文本文件。之后,它只是将基本文本行打印到该文件。

import java.io.FileWriter; //Imports Filewriter class
import java.io.PrintWriter; //Imports PrintWriter class
import java.io.IOException; //Imports IOException

public class Chap17Part2
{

    public static void main(String[] args) throws IOException
    {
        String fileName = "grades.txt"; //Creating name for file
        PrintWriter outFile = new PrintWriter(new FileWriter(fileName)); //Question 1
        outFile.println(85); //Prints to file
        outFile.println(77); //Prints to file
        outFile.close(); //Ends buffer, and flushes data to file.

    }

}

问题一:由于老师的简单解释,这行代码让我有点摸不着头脑。我知道在这一行中,我们正在创建 "outFile" 对象。之后,我们调用 PrintWriter 构造函数,并在其参数内调用 FileWriter 的构造函数。在其构造函数内部,我们将创建的文件的名称称为字符串。这是令人困惑的部分。我不明白 PrintWriter 和 FileWriter 在做什么。看起来 FileWriter 正在创建我们的文件,而 PrintWriter 正在为我们提供 println() 方法来将两个数字打印到文件中。经过研究,我发现使用 FileWriter 和 PrintWriter 几乎可以达到相同的目的。这样教文件处理的目的是什么,两个类到底在做什么?感谢您帮助我澄清这一点!

代码等同于

FileWriter fw = new FileWriter(fileName); 
PrintWriter outFile = new PrintWriter(fw);

因此它首先创建一个 FileWriter,它将字符写入文件,然后创建一个 PrintWriter,将其值打印到 FileWriter。