字节流InputStream/OutputStream本篇将对JAVA I/O流中的字节流InputStream/OutputStream做个简单的概括:总得来说,每个字节流类都有一个对应的用途,如下:ByteArrayInputStream/ByteArrayOutputStr ...
字节流InputStream/OutputStream
本篇将对JAVA I/O流中的字节流InputStream/OutputStream做个简单的概括:
总得来说,每个字节流类都有一个对应的用途,如下:
- ByteArrayInputStream/ByteArrayOutputStream //字节数组相关
- FileInputStream/FileOutputStream //文件操作相关
- PipedOutputStream/PipedInputStream //线程间通信(管道)
- BufferedInputStream/BufferedOutputStream //装饰其它字节流,增加缓冲功能
- FilterInputStream/FilterOutputStream //装饰其它字节流,增加一些过滤处理
- PushbackInputStream //装饰其它字节流,增加回退读取功能
- DataOutputStream/DataInputStream //装饰其它字节流,增加对JAVA基本数据类型的读取/写入功能
- PrintStream //装饰其它字节流,增加格式化数据写入功能
- ObjectInputStream/ObjectOutputStream //装饰其它字节流,增加对象的序列化,以字节形式读取/写入到本地文件
- SequenceInputStream //以串行形式连接若干字节输入流
再看下字节流InputStream/OutputStream的组成结构,如下图;
接下来逐个介绍;
ByteArrayInputStream/ByteArrayOutputStream
简单地说,就是字节数组与字节输入输出流之间的各种转换,举个例子如下:
package io;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;public class IOTest { public static void main(String[] args) throws IOException { //内存中的字节数组 byte[] bArr = new byte[]{1,2,3}; //字节输入流 InputStream is = new ByteArrayInputStream(bArr); //字节输出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] bff = new byte[3]; //从输入流中读取字节 is.read(bff,0,3); System.out.println(bff[0] + "," + bff[1] + "," + bff[2]); //往字节输出流中写入字节数组 bos.write(bff); //从输出流中获取字节数组 byte[] bArryFromOs = bos.toByteArray(); System.out.println(bArryFromOs[0] + "," + bArryFromOs[1] + "," + bArryFromOs[2]); is.close();
原标题:【JAVA I/O】字节流InputStream/OutputStream
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。