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
?
?
?
?