我正在使用Java学习几节课,并且教师开始介绍IO如何在Java中工作。我只是有一个问题,一个Java程序员可以澄清的经验。Java - 使用IO - 澄清
下面的代码段是一个程序,它在我写代码的同一个文件目录中创建一个(记事本)文本文件。之后,它只是将基本的文本行打印到该文件。
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的构造函数。在它的构造函数内部,我们调用我们创建的文件的名称作为String。这是令人困惑的部分。我不完全了解PrintWriter和FileWriter正在做什么。它看起来像FileWriter正在创建我们的文件,PrintWriter给我们println()方法将两个数字打印到文件中。经过研究,我发现你可以用FileWriter和PrintWriter实现相同的目的。以这种方式教授文件处理的目的是什么,这两个类正在做什么?感谢您为我澄清这一点的帮助!
你可能会考虑......阅读类的javadoc。他们解释了课程的内容,以及他们做了什么。 –
不错,看起来很简单,但是,我已经看过文档了。该文档仍然有点模糊,但是这些是Java的定义: ** PrintWriter **:将对象的格式化表示形式打印到文本输出流。 问题:在这个例子中文本输出流是FileWriter吗? ** FileWriter **:写字符文件的便捷类。 FileWriter用于编写字符流。 问:FileWriter是流,并通过编写一个字符文件,这是否意味着它只是创建文件,或者也是流式传输? –
文件写入器是一个字符流,允许将字符写入文件(如其名称所示)。它实现了Writer。 PrintWriter向任何作者打印对象的格式化表示。而FileWriter是一个Writer。 –