java中讲讲InputStream的用法
InputStream的用法
InputStream 是个抽象类,有个抽象方法read(),即一次读一个字节。马克-to-win:前面我们经常用到System.out.println(),实际上同样经常用的System.in就是Sun编的一个InputStream的实例对象。它的read方法就是一次从控制台读入一个字节。下面的实验会证明它无法直接处理中文, 需要将来用到字符流。马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
例:2.1.1
import java.io.*;
public class TestMark_to_win {
public static void main(String args[]) throws Exception {
byte inp[] = new byte[4];
for (int i = 0; i < 4; i++) {
/* 这里的read方法,一次读一个字节。Reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255. so you must cast by yourself. when you run, you type in abcd, This method blocks until input
data is available,
*/
inp[i] = (byte) System.in.read();
}
for (int i = 0; i < 4; i++) {
System.out.println(inp[i]);//打出数字
}
for (int i = 0; i < 4; i++) {
System.out.println((char) inp[i]);//打出字符
}
}
}
结果:
abcd
97
98
99
100
a
b
c
d
我们再次运行,输入中文,证明InputStream直接无法处理中文。
结果是:
我们
-50
-46
-61
-57
?
?
?
?