Java 编程下 IO 中的输入流的 read 方法返回值为什么是 int 值

2024-12-03 15:03:08
推荐回答(1个)
回答1:

java中read方法返回的int类型:如果返回char, 那么无法表示流末尾. char的取值范围是从0到65535。这个范围内的所有字符, 都有可能在数据中出现。需要使用一个不可能在数据中出现的值来表示流末尾。那么Java中就是用-1来表示这个末尾的, 因为-1不会在数据中出现。而为了返回-1, 那么只能用int。当流中读取到一个字符时, read()方法内部就会当作int返回, 如果读到流末尾, 直接返回-1。