
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java类库里有四个表示流的抽象父类:InputStream、OutputStream、Reader、Writer。
其中InputStream和OutputStream是对字节进行操作的输入流和输出流;Reader和Writer是对字符操作的输入输出流。
它们是抽象类,在用它们的时候必须要对其进行实例化,因此类库也提供了具有不同功能的它们的子类,比如,以文件形式输入输出的FileInputStream、FileOutputStream和FileReader、FileWriter等。
--------------------------------------------------------------
一、字节流
1. InputStream、OutputStream只能进行字节的传输数据
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2. EOF = End,读到-1就读到结尾。
3.输入流的基本方法(以下的in代表输入流的对象)
int b = in.read();
从流读取一个字节无符号填充到int的低8位。(一个int变量是4个字节,1字节=8位,read()方法只能读取一个字节并返回int,所以该字节填充到int的低八位。)若读到结尾,返回-1。
in.read(byte[] buf);
从流读取数据直接填充到字节数组buf,读取字节的个数取决于数组的长度。
in.read(byte[] buf, int start, int size);
从流读取数据到字节数组buf,从buf的start位置开始,存放size长度的数据。
4.输出流的基本方法(以下的out代表输出流的对象)
out.write(int b);
写出一个byte到流,写出的是b的低8位。
out.write(byte[] buf);
将一个字节数组写出到流。
out.write(byte[] buf, int start, int size);
从buf的start位置开始,写size长度的数据到流。
5. FileInputStream是InputStream的子类,具体实现了在文件上读取数据:
TestDemo
Output: c4 e3 ba c3 68 65 6c 6c 6f
你好hello