我目前正在通过Herbert Schildt编写的Java:The Complete Reference 8th Edition。我是最近的compsci毕业生和新手程序员。将InputStreamReader投射为(char)
在I/O章节中,本书提供了一小段示例代码(我将它包含在下面)。该代码创建一个BufferedReader,它以InputStreamReader(System.in)作为参数提供(第6行)。我检查了Java SE7 docs for InputStreamReader,它表示它“读取字节并将它们解码为字符[...]”。我的问题是,为什么在将示例代码的第9行中的br.read()指定为'c'时,需要(或者甚至有必要)将br.read()作为char?
非常感谢您的帮助。
杰米
1. import java.io.*
2.
3. class BRRead {
4. public static void main(String args[]) throws IOException {
5. char c;
6. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7. System.out.println("Enter characters, 'q' to quit.");
8. do {
9. c = (char) br.read();
10. System.out.println(c);
11. } while(c != 'q');
12. }
13. }
您是否阅读过'Reader.read()'方法的javadoc? – jtahlborn 2012-07-13 15:19:05
我没有(但我现在),显然我应该有。 – Jamie 2012-07-13 16:04:02