package org.example.io;

import java.io.ByteArrayInputStream;
import java.io.IOException;

/**

* ByteArrayInputStream:在创建对象时传入数组即可,不需要传文件,也没有新增的方法,close()关闭无效

* 流本身就是内存中的资源,流中的内容也是内存中的资源,所以不用手动关闭,内存会给他释放,所以不用关闭流

* 流的内容是内存中的资源,不访问磁盘

*/

public class TestByteArrayInputStream {

  public static void main(String[] args) {

    String s = "Hello World!";

    byte[] b = s.getBytes();  /* 获取字符串的字节数组 */

    read(b);

  }

  private static void read(byte[] b) {

    ByteArrayInputStream bais = new ByteArrayInputStream(b);  /* ByteArrayInputStream实例化时不抛出异常的原因是没有和外界产生关系 */

    int i = 0;

    byte[] b1 = new byte[1024];  /* 字节数组缓冲区 */

    StringBuilder sb = new StringBuilder();  /* StringBuilder位于java.lang包中,类似于字符串 */

    try {

      while ((i = bais.read(b1)) != -1) {

        sb.append(new String(b1, 0, i));  /* 将指定的字符串循环附加到sb上 */

      }

      System.out.println(sb);  /* 输出sb字符串 */

    } catch (IOException e) {

      e.printStackTrace();

    }

  }

}

ByteArrayInputStream的更多相关文章

  1. Java 利用 ByteArrayOutputStream 和 ByteArrayInputStream 避免重复读取配置文件

    最近参与了github上的一个开源项目 Mycat,是一个mysql的分库分表的中间件.发现其中读取配置文件的代码,存在频繁多次重复打开,读取,关闭的问题,代码写的很初级,稍微看过一些框架源码的人,是 ...

  2. Java字节流:ByteArrayInputStream ByteArrayOutputStream

    ----------------------------------------------------------------------------------- ByteArrayInputSt ...

  3. ByteArrayInputStream和ByteArrayOutputStream

    public class ByteArrayTest { public static void main(String[] args) throws IOException { read(write( ...

  4. 【转】ByteArrayOutputStream和ByteArrayInputStream详解

    ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的 ...

  5. ByteArrayInputStream与ByteArrayOutputStrean的使用

    String str="sdfasdfasdfa加减法爱的色放就阿克苏地方啊"; InputStream is=new ByteArrayInputStream(str.toStr ...

  6. java基础知识回顾之javaIO类--内存操作流ByteArrayInputStream和ByteArrayOutputSteam(操作字节数组)

    直接看代码: package cn.itcast.io.p6.bytestream; import java.io.ByteArrayInputStream; import java.io.ByteA ...

  7. Java之ByteArrayInputStream和ByteArrayOutputStream-操作字节数组的类

    ByteArrayInputStream和ByteArrayOutputStream 源:内存中的字节数组 目的:内存中的字节数组 这两个流对象不涉及底层资源的调用,操作的都是内存中的数组,所以不需要 ...

  8. ByteArrayInputStream 和 ByteArrayOutputStream

    package java.io; /** * A <code>ByteArrayInputStream</code> contains * an internal buffer ...

  9. 黑马程序猿 IO流 ByteArrayInputStream与ByteArrayOutputStream

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- package cn.itcast.IO; i ...

  10. ByteArrayInputStream&ByteArrayOutputStream源码分析

    #ByteArrayInputStream 源码 ``` public synchronized int read(byte b[], int off, int len) { if (b == nul ...

随机推荐

  1. ES6学习笔记(函数)

    1.函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log(' ...

  2. # 2018-2019-20175302实验一《Java开发环境的熟悉》实验报告

    2018-2019-20175302实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java ...

  3. 20175314 《Java程序设计》第七周学习总结

    20175314 <Java程序设计>第七周学习总结 教材学习内容总结 第八章:常用实用类 String()类代表字符串:Java 程序中的所有字符串字面值(如 "abc&quo ...

  4. Apache Traffic Server

    1. ats 安装 参考:https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html#installat ...

  5. 【LeetCode刷题系列 - 002题】Add Two Numbers

    题目: You are given two non-empty linked lists representing two non-negative integers. The digits are ...

  6. Solidity-让合约地址 接受ETH的转账充值的 三种方式

    以太坊智能合约开发:让合约接受转账 在以太坊智能合约开发中,通常会有向合约地址进行转账的需求,那么有几种向合约地址进行转账的方式呢? 有三种方式: 部署合约时转账 调用合约提供的方法 直接向合约地址进 ...

  7. PHP开发——目录

    PHP开发基础 PHP开发——环境安装 PHP开发——基础 PHP开发——变量 PHP开发——超全局数组变量 PHP开发——常量 PHP开发——数据类型 PHP开发——进制转换 PHP开发——运算符 ...

  8. rpm --rebuilddb

    rpm -ivh .....rpm 报Bus Error rpm --rebuilddb

  9. jquery倒计时按钮常用于验证码倒计时

    <!doctype html><html><head> <meta charset="utf-8"> <title>jq ...

  10. Netsharp系列文章目录结构

    作者:秋时  转载须说明出处  Netsharp交流群:338963050(请有详细的请求说明) ->. 总体介绍 Netsharp总体介绍 一. Netsharp快速入门系列 Netsharp ...