java - 将 InputStreamReader 转换为 (char)

标签 java

我目前正在阅读 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/

相关文章:

java - 如何通过 Java 更改 Macbook 的屏幕亮度?

java - 为什么我的休息时间不起作用

java - 所有 hibernate hbm.xml 文件的一个映射文件夹

java - Eclipse Subversive 新文件自动添加到版本控制中

java - java中的事件循环

java - 如何使用AWS JAVA API获取所有实例的规范

java - hibernate : session .负载

java - Android Studio : No JVM installation found, 定义 JAVA_HOME 即使这样做之后

java - Clojure 中的迭代函数参数

java - 如何在 MongoDB 更新查询中编写(或)更新