你的位置:首页 > 软件开发 > Java > 【JAVA I/O】字节流InputStream/OutputStream

【JAVA I/O】字节流InputStream/OutputStream

发布时间:2016-04-08 15:00:07
字节流InputStream/OutputStream本篇将对JAVA I/O流中的字节流InputStream/OutputStream做个简单的概括:总得来说,每个字节流类都有一个对应的用途,如下:ByteArrayInputStream/ByteArrayOutputStr ...

【JAVA I/O】字节流InputStream/OutputStream

字节流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的组成结构,如下图;

【JAVA I/O】字节流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 (#换成@)。