byte[] bytes = ... //get byte array from somewhere.

InputStream input = new ByteArrayInputStream(bytes);

int data = input.read();

while(data != -1) {

//do something with data

data = input.read();

}

input.close();

如果数据存储在数组中,ByteArrayInputStream可以很方便地读取数据。如果你有一个InputStream变量,又想从数组中读取数据呢?很简单,只需要把字节数组传递给ByteArrayInputStream的构造函数,在把这个ByteArrayInputStream赋值给InputStream变量就可以了(译者注:InputStream是所有字节输入流流的基类,Reader是所有字符输入流的基类,OutputStream与Writer同理)。

ByteArrayOutputStream

ByteArrayOutputStream允许你以数组的形式获取写入到该输出流中的数据,代码如下:

ByteArrayOutputStream output = new ByteArrayOutputStream();

//write data to output stream

byte[] bytes = output.toByteArray();

FilterInputStream

FilterInputStream是实现自定义过滤输入流的基类,基本上它仅仅只是覆盖了InputStream中的所有方法。

就我自己而言,我没发现这个类明显的用途。除了构造函数取一个InputStream变量作为参数之外,我没看到FilterInputStream任何对InputStream新增或者修改的地方。如果你选择继承FilterInputStream实现自定义的类,同样也可以直接继承自InputStream从而避免额外的类层级结构。

FilterOutputStream

内容同FilterInputStream,不再赘述。

java byte array_Java IO: ByteArray和Filter相关推荐

  1. Java IO: ByteArray和Filter

    转载自  Java IO: ByteArray和Filter 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中字节数组 ...

  2. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  3. java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学

    原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...

  4. java byte char io流_Java基础进阶 IO流之字节流

    1.IO流 1.1.概述 之前学习的File类它只能操作文件或文件夹,并不能去操作文件中的数据.真正保存数据的是文件,数据是在文件中.而File类它只是去对文件本身做操作,不能对文件中的数据进行操作. ...

  5. 大学本科 java教材,大学本科自学java之路——IO

    大学本科自学java之路--IO 大学本科自学java之路--IO 我现在大三,大一,大二就是玩,现在大三准备考虑就业了,特写博客便于坚持自己学习 一. 字节缓冲流的构造方法: BufferedOut ...

  6. Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 import java.io.File;public class Demo{public static void main(String[] args){// 目 ...

  7. Java学习-07 IO学习

    Java学习-07 IO学习 I : 即input,代表读取.O:即output,代表输出. 1.File 主要字段: 示例: System.out.println(File.pathSeparato ...

  8. Java NIO与IO的区别和比较

    Java NIO与IO的区别和比较 导读 J2SE1.4以上版本中发布了全新的I/O类库.本文将通过一些实例来简单介绍NIO库提供的一些新特性:非阻塞I/O,字符转换,缓冲以及通道. 一. 介绍NIO ...

  9. Java NIO系列教程(十二) Java NIO与IO

    原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html 作者:Jakob Jenkov   译者:郭蕾    校对:方腾飞 当学习了Java ...

最新文章

  1. 全国计算机等级考试c语言程序设计真题,历年全国计算机等级考试二级C语言笔试选择真题...
  2. 调整linux的时钟
  3. UI行业发展预测 系列规划的调整
  4. crm——stark组件核心原理
  5. [读书笔记]TCP/IP详解V1读书笔记-4 5
  6. 反复出现的PSW木马, 附日志,请高手指点
  7. leetcode - 226. 翻转二叉树
  8. Solr单机安装Version5.5.2
  9. ubuntu环境搭建五:修改中文字符集
  10. python有什么用途-Python是什么 Python的用处
  11. 【Objecitve C代码】让对象沿着某条路径移动的动画效果
  12. 深入理解jvm 读后感
  13. Python数据挖掘之时序模型预测
  14. 微信小程序UI库组件库合集
  15. php 上传图片 裁剪,thinkphp_图片上传裁剪功能
  16. Python学习week4
  17. navicat导入excel文件的步骤以及可能碰到的问题
  18. 【回文数】求11到n之间(包括n),既是素数又是回文数的整数有多少个。 输入 一个大于11小于1000的整数n。 输出 11到n之间的素数回文数个数。 样例输入 Copy 23 样例输出 Copy 1
  19. python计算中文文件字数_完成计算文本文件字数的Python代码实例
  20. 2023王道计算机408领学班

热门文章

  1. 【1024】不整虚的,红包以备,致敬一线同僚!
  2. Grafana 6.4 正式发布!
  3. 测试晶面间距软件_【干货】高分辨TEM晶面间距的测量与标定丨DM软件
  4. 大学计算机课算绩点吗,南京大学GPA是如何计算的
  5. java 高效io框架_Java基础之IO框架
  6. 帝国cms微信小程序算命小程序开发之指纹算命实现方法
  7. hk.module must be initialized inside an hk.transform
  8. C++ 智能指针std::shared_ptr简单使用和理解
  9. TP-GAN 侧脸修复
  10. flask urllib上传图片