inputStream = new BufferedReader(new FileReader(“ xanadu.txt”));
在上面的代码行中,我不理解新的BufferReader中是否包含新的FileReader?有人可以帮助我理解代码的逻辑吗?
答案 0 :(得分:0)
基本上new FileReader("xanadu.txt")
创建一个FileReader
类型的新对象,这种类型的读取器用于读取字符文件。我还建议阅读docs,以获取JDK中可用的不同现有阅读器的更多信息,并且还可以实现不同的目的。例如。如果您想读取原始字节而不是字符,也可以使用FileInputStream
代替FileReader
。
如果创建新的BufferedReader
,则必须在初始化期间传递Reader
类型的对象。 BufferedReader
使用缓冲功能扩展了传递的阅读器。我建议使用this link以获得有关如何在不同的Reader
实现中使用的更多信息。最后,我建议看一下Java文档,以进一步了解Buffered Reader和可用的方法,这些方法可以“扩展”传递给Reader
的{{1}},并具有附加功能。 / p>
甚至更普遍
BufferedReader
此构造仅做=>创建类型为new ClassNameA (new ClassNameB(parameter))
的对象,并在初始化期间将其通过构造函数传递给新创建的类型为ClassNameB
的对象。因此,基本上,您正在创建两个对象,并将第一个对象传递给第二个对象的构造函数。初始化顺序是由内到外按方括号。