Java 中的 ByteArrayOutputStream函数

首页 / Java入门教程 / Java 中的 ByteArrayOutputStream函数

ByteArrayOutputStream类流在内存中创建一个缓冲区,所有发送到该流的数据都存储在该缓冲区中。

以下是ByteArrayOutputStream类将提供的构造函数的列表。

Sr.No.Constructor & Remark
1

ByteArrayOutputStream()

此构造函数创建一个具有32字节缓冲区的ByteArrayOutputStream。

链接:https://www.learnfk.comhttps://www.learnfk.com/java/java-bytearrayoutputstream.html

来源:LearnFk无涯教程网

2

ByteArrayOutputStream(int a)

此构造函数创建一个具有给定大小的缓冲区的ByteArrayOutputStream。

一旦有了ByteArrayOutputStream对象,就会有一系列的辅助方法,可用于写入流或对该流执行其他操作。

Sr.No.Method & Remark
1

public void reset()

此方法将字节数组输出流的有效字节数重置为零,因此流中所有累积的输出将被丢弃。

2

public byte[] toByteArray()

此方法创建一个新分配的Byte数组。

3

public String toString()

将缓冲区内容转换为字符串。

4

public void write(int w)

将指定的数组写入输出流。

5

public void write(byte []b, int of, int len)

无涯教程网

将从offset off开始的len个字节写到流中。

6

public void writeTo(OutputStream outSt)

将此流的全部内容写入指定的流参数。

以下是演示ByteArrayOutputStream和ByteArrayInputStream的示例。

import java.io.*;
public class ByteStreamTest {

   public static void main(String args[])throws IOException {
      ByteArrayOutputStream bOutput=new ByteArrayOutputStream(12);

      while( bOutput.size()!= 10 ) {
         // Gets the inputs from the user
         bOutput.write("hello".getBytes());  
      }
      byte b []=bOutput.toByteArray();
      System.out.println("Print the content");
      
      for(int x=0; x < b.length; x++) {
         // printing the characters
         System.out.print((char)b[x]  + "   "); 
      }
      System.out.println("   ");

      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(); 
      }
   }
}

运行上面代码输出

Print the content
h   e   l   l   o   h   e   l   l   o      
Converting characters to Upper case 
H
E
L
L
O
H
E
L
L
O

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

左耳听风 -〔陈皓〕

微服务架构核心20讲 -〔杨波〕

零基础学Java -〔臧萌〕

设计模式之美 -〔王争〕

分布式协议与算法实战 -〔韩健〕

成为AI产品经理 -〔刘海丰〕

高并发系统实战课 -〔徐长龙〕

手把手带你写一个 MiniTomcat -〔郭屹〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)