我正在学习一些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.
}
}
问题1:由于讲师只是简短的解释,这行代码对我来说有点混乱。我知道在这一行中,我们正在创建"outFile"对象。之后,我们调用 PrintWriter 构造函数,在其参数中,我们调用 FileWriter 的构造函数。在其构造函数中,我们将创建的文件的名称称为字符串。这是令人困惑的部分。我不明白PrintWriter和FileWriter在做什么。看起来FileWriter正在创建我们的文件,而PrintWriter正在为我们提供println()方法来将两个数字打印到文件中。 经过研究,我发现你几乎可以用FileWriter和PrintWriter达到相同的目的。以这种方式教授文件处理的目的是什么,这两个班级到底在做什么?感谢您帮助我澄清这一点!
代码等效于
FileWriter fw = new FileWriter(fileName);
PrintWriter outFile = new PrintWriter(fw);
因此,它首先创建一个 FileWriter,它将字符写入文件,然后创建一个将其值打印到 FileWriter 的 PrintWriter。