ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a);

ByteArrayInputStream bArray = new ByteArrayInputStream(
byte []a,int off,int len
);

下面的例子演示了ByteArrayInputStream 和 ByteArrayOutputStream的使用:

package study0805;

import java.io.*;
public class ByteStreamTest {
public static void main(String[] args) throws IOException {
ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12);
while (bOutput.size() != 10) {
// 获取用户输入值
bOutput.write(System.in.read());
}

byte b[] = bOutput.toByteArray();
System.out.println("Print the content");

for (int x = 0; x < b.length; x++) {
// 打印字符
System.out.println((char) b[x] + " ");
}
System.out.println("aaaaaaaaaaaa");

int c;
ByteArrayInputStream bInput = new ByteArrayInputStream(b);

System.out.println("Converting characters to Upper case");
for(int y=0;y<1;y++){
while((c = bInput.read())!=-1){
System.out.println(Character.toUpperCase((char)c));
}
bInput.reset();
}
}
}

Java ByteArrayInputStream类

字节数组输入流在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中。创建字节数组输入流对象有以下几种方式。

接收字节数组作为参数创建:

另一种创建方式是接收一个字节数组,和两个整形变量 off、len,off表示第一个读取的字节,len表示读取字节的长度。

成功创建字节数组输入流对象后,可以参见以下列表中的方法,对流进行读操作或其他操作。

方法 描述
public int read() 从此输入流中读取下一个数据字节。

public int read(byte[] r, int off, int len) 将最多 len 个数据字节从此输入流读入字节数组。

public int available() 返回可不发生阻塞地从此输入流读取的字节数。

public void mark(int read) 设置流中的当前标记位置。

public long skip(long n) 从此输入流中跳过 n 个输入字节。

备注:随笔中内容来源于网上资料整理,仅供参考。

20180805-Java ByteArrayInputStream类的更多相关文章

  1. Java 流(Stream)、文件(File)和IO -- Java ByteArrayInputStream类

    字节数组输入流在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中.创建字节数组输入流对象有以下几种方式. 接收字节数组作为参数创建: ByteArrayInputStream ...

  2. java IO类简单介绍

    一.流的概念 流是字节序列的抽象概念.流和文件的差别:文件是数据的静态存储形式,而流是指数据传输时的形态.文件只是流的操作对象之一.流按其操作的对象不同可以分为文件流.网络流.内存流.磁带流等.Jav ...

  3. Java IO 类

    IO包中绝大部分的类都是由以下四个类直接或间接继承来的InputStream OutputStream Reader 还有Writer 其中InputStream和OutputStream代表输入流和 ...

  4. ByteArrayInputStream类

    一.说明 哈哈,这是学习Java之路的第一篇博文.虽然说接触学习Java有一段时间了,但是对流的概念一直并不是很清楚.也看了很多资料,但是感觉还是非常的抽象很难去理解.但是流又是Java中很重要的一部 ...

  5. Java:类与继承

    Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知 ...

  6. java时间类简单总结

    java时间类(Data类) 1.Data类(没有考虑到国际化,好多方法已过时java.util.Data包中) 父类(是类不是接口含有直接子类3个):  日期格式为:年月日时分秒(不包含毫秒部分) ...

  7. Java Calendar 类的时间操作

    Java Calendar 类的时间操作 标签: javaCalendar时间Date 2013-07-30 17:53 140401人阅读 评论(7) 收藏 举报 分类: 所有(165) Java ...

  8. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

  9. 漫谈 Java 实例化类

    Java 中实例化类的动作,你是否还是一成不变 new 对应对象呢? 经手的项目多了,代码编写量自然会增加,渐渐的会对设计模式产生感觉. 怎样使书写出来的类实例化动作,高内聚,低耦合,又兼具一定的扩展 ...

随机推荐

  1. PowerBI 的简单介绍

    一  切片器 给我的感觉就是groupby,就是按照某个维度进行了分组,然后显示. https://www.jianshu.com/p/2e78bf342747 二  建模 https://zhuan ...

  2. mooc-IDEA 高效定位代码--004

    十.IntelliJ IDEA -高效定位代码-精准搜索 1.快速定位类:Navigate->Class...   [Ctrl+N] 2.文件:Navigate->File..   [Ct ...

  3. 模块内高内聚?模块间低耦合?MVC+EF演示给你看!

    前言 在软件项目开发过程中,我们总能听见“高内聚,低耦合”,即使这种思想在我们学习编程的过程中就已经耳濡目染.可一旦当我们上项目,赶进度的时候我们就会“偷懒”,能省时间就省.管他什么设计模式,什么软件 ...

  4. 总结:String类型与Int类型的转换【实现插入操作主键自增】

    1.String类型(此类型是数字格式的字符串类型)转换成Int类型 String str = "10000"; 转换成Int类型: int num = Integer.parse ...

  5. ajax传文件用express的multer接住

    html部分: //input type设为file <input type="file" name="file" id="fileInputE ...

  6. 本地部署 Misago Docker + 配置 HTTPS 笔记

    最近答应帮朋友做个论坛网站,想借此机会捡起 Python 在 GitHub 找了一圈,打算借用以 Python+Django 开发的 Misago 这个论坛系统 由于作者在今年更新的 Misago 0 ...

  7. Vue源码解读之Dep,Observer和Watcher

    在解读Dep,Observer和Watcher之前,首先我去了解了一下Vue的数据双向绑定,即MVVM,学习于:https://blog.csdn.net/u013321...以及关于Observer ...

  8. 问题 H: 小k的简单问题

    问题 H: 小k的简单问题 时间限制: 1 Sec  内存限制: 128 MB提交: 107  解决: 57[提交] [状态] [命题人:jsu_admin] 题目描述 地图上有n个村庄,小k每个月需 ...

  9. swift实现线程安全的栈和队列

    实现一个线程安全的栈 这里使用数组来存储栈的数据.不足之处在于本例中的Stack可以无限扩容,更好的是初始化时候指定一个最大容量,防止不断扩容申请内存导致内存不够的问题.这里的线程安全使用一个串行队列 ...

  10. 使用Tabulator遇到的问题

    1.Tabulator好像是不支持ie,按照Tabulator文档引入,打开浏览器总是报缺少文件,换了谷歌果然好了. 2.编辑某一行的数据 代码: //Build Tabulator var tabl ...