我目前正在阅读 Herbert Schildt 所著的《Java:完整引用书第 8 版》。我是刚从计算机科学专业毕业的学生,也是一名新手程序员。
在 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. }
最佳答案
read()
方法返回 int
类型的值。因此需要进行类型转换。
关于java - 将 InputStreamReader 转换为 (char),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11473327/