ByteArrayOutputStream

ByteArrayOutputStream 类详解 的输出流(ByteArrayOutputStream和ByteArrayInputStream是节点流),位于。它不需要关联物理文件或网络连接,所有数据都存储在内存的字节数组中。是 Java 中用于。 阅读详情
ByteArrayOutputStream和ByteArrayInputStream详解
ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下:

ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。

ByteArrayInputStream: 可以将字节数组转化为输入流

 1 import java.io.*;
 2
 3 public class test  {
 4  public static void main(String[] args)  {
 5   int a=0;
 6   int b=1;
 7   int c=2;
 8   ByteArrayOutputStream bout = new ByteArrayOutputStream();
 9   bout.write(a);
10   bout.write(b);
11   bout.write(c);
12   byte[] buff = bout.toByteArray();
13   for(int i=0; i<buff.length; i++)
14    System.out.println(buff[i]);
15   System.out.println("***********************");
16   ByteArrayInputStream bin = new ByteArrayInputStream(buff);
17   while((b=bin.read())!=-1)  {
18    System.out.println(b);
19   }
20  }
21 }
22
23
24

如上所示,ByteArrayOutputStream把内存中的数据读到字节数组中,而ByteArrayInputStream又把字节数组中的字节以流的形式读出,实现了对同一个字节数组的操作.

综合DataOutputStream&DataInputStream的作用和功能,与ByteArrayOutputStream和ByteArrayInputSream使用将更方便.此时DataOutputStream&DataInputStream封闭了字节流,以适当的形式读出了字节数组中的数据.如下所示:

 1 import java.io.*;
 2
 3 public class test  {
 4  public static void main(String[] args)throws IOException  {
 5   ByteArrayOutputStream bout = new ByteArrayOutputStream();
 6   DataOutputStream dout = new DataOutputStream(bout);
 7   String name = "xxy";
 8   int age = 84;
 9   dout.writeUTF(name);
10   dout.writeInt(age);
11   byte[] buff = bout.toByteArray();
12   ByteArrayInputStream bin = new ByteArrayInputStream(buff);
13   DataInputStream dis = new DataInputStream(bin);
14   String newName = dis.readUTF();
15   int newAge = dis.readInt();
16   System.out.println(newName+":"+newAge);
17  }
18 }


http://home.phpchina.com/space.php?uid=24549&do=blog&id=142721
告别Keil手动分区!用CubeMX+VS Code一键生成带Bootloader的STM32 OTA工程 本文详细介绍了如何利用STM32CubeMX和VS Code实现STM32 OTA工程的自动化构建,告别传统Keil手动分区的繁琐流程。通过图形化配置Flash分区、自动生成链接脚本以及实现Bootloader跳转逻辑,开发者可以高效完成远程升级功能开发,显著提升嵌入式开发效率。 阅读详情

相关推荐

视频教程-SAP S4 HANA FICO COPA 获利能力分析-ERP

SAP S4 HANA FICO COPA 获利能力分析 从业超过8年的SA...

weixin_33456805的博客 1442

ByteArrayOutputStream详解

介绍: ByteArrayOutputStream 对byte类型数据进行写入的类 相当于一个中间缓冲层,将类写入到文件等其他outputStream。它是对字节进行操作,属于内存操作流 源码解析: public class ByteArrayOutputStream extends OutputStream { } 从上述代码中可以看出ByteArrayOutputStream继承了Out...

WeiLGHui 6万+

Pyrosim进阶指南:从隧道火灾模拟到复杂通风策略分析

本文深入探讨Pyrosim在隧道火灾模拟与通风策略分析中的高级应用。从精确几何建模到火源参数设置,再到通风系统的量化分析,详细介绍了如何利用Pyrosim优化隧道安全设计。特别强调了临界风速验证、横向通风配置及结果可视化技巧,为工程师提供实用的进阶指南。

weixin_30644369的博客 138

JavaIO-字节数组流(ByteArrayOutputStream)

一)介绍 说明:类实现了将数据写入字节数组的输出流。 当数据写入缓冲区时,缓冲区会自动增长。 数据可以使用toByteArray()和toString() 。 构造方法: 1、ByteArrayOutputStream() 创建一个新的字节数组输出流。 默认的大小为32。 2、ByteArrayOutputStream(int size) 创建一个新的字节数组输出流,具有指定大小的...

p812438109的专栏 1万+

C#串口通讯实战:如何用SerialPort类搞定工业传感器数据采集(附完整代码)

本文详细介绍了如何使用C#的SerialPort类实现工业级传感器数据采集,涵盖串口通讯基础配置、数据帧处理、异常恢复机制及性能优化策略。通过实战代码示例,帮助开发者构建稳定可靠的工业数据采集系统,特别适合需要处理高频数据采集和复杂工业环境的场景。

weixin_42525551的博客 1087

【NLP】文献翻译4——CH-SIMS:中文多模态情感分析数据集与细粒度的模态注释

CH-SIMS: A Chinese Multimodal Sentiment Analysis Dataset with Fine-grained Annotations of Modality摘要1. 介绍2. 相关工作2.1 多模态数据集2.2 多模态情感分析2.3 多任务学习3. CH-SIMS 数据集3.1 数据获取3.2 标注3.3 特征提取4. 多模式多任务学习框架4.1 单模态子网4.2 特征融合网络4.3 优化目标5. 实验5.1 基准5.2 实验的细节5.3 结果和讨论5.3.1 与

YoungSeng's Blog 1万+

(每日持续更新)jdk api之ByteArrayOutputStream基础、应用、实战

将指定的字节写入此输出流。将指定字节数组中从偏移量off开始的len个字节写入此输出流。将此输出流的所有内容写入指定的输出流out。重置此输出流,以便再次使用它而无需创建新的字节数组。创建一个新分配的字节数组。其大小是此输出流的当前大小,内容是当前输出流的拷贝。int size()返回此输出流的当前大小。将此输出流的内容转换为一个字符串,使用平台的默认字符集。将此输出流的内容转换为一个字符串,使用指定的字符集。关闭此输出流并释放与此流关联的所有系统资源。

a89879193的专栏 2万+

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1551

ByteArrayOutputStream的用法

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下:  B

H思xian------博客 3万+

DeepSeek高阶应用:DeepSeek+Coze构建智能文献综述与趋势分析自动化系统

本文详细介绍了如何利用DeepSeek与Coze构建智能文献综述与趋势分析自动化系统。通过DeepSeek的深度语义理解和结构化信息提取能力,结合Coze的可视化工作流编排,实现学术论文的自动解析、分类整理与知识入库。该系统能7x24小时自动追踪领域前沿,将研究人员从繁琐的文献处理中解放出来,专注于更高层次的思考与创新。

weixin_29050271的博客 179

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化)

在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录...

weixin_40856652的博客 5721

使用ByteArrayOutputStream将数据写入本地文件

使用ByteArrayOutputStream将数据写入本地文件 在一个项目中做一次性校验部分,需要将校验后数据写入表格后上传。巧的是,服务器Down了。作为一个新手实习生菜鸟,为了测试自己的代码和输出结果有没有毛病,在大神同事的指点下选择了先将表格输出到本地 于是在百度疯狂搜索“输出流”、“输出文件到本地”、“文件流”等,经过多方搜集和探查以及加工,最后加上了一小段代码 //测试-将表...

qq_36055457的博客 3万+

全志 camera: 4路AHD摄像头转MIPI

TP2815 驱动模块主要实现将 4 路的 AHD/TVI/CVBS Camera 的数据转换为 MIPI 数据,从而实现在 T527 端来对数据进行处理和送显。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 9096

ByteArrayOutputStream类用法以及ByteArrayOutputStream.toByteArray()方法实例

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区, 然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。 在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。如下将变量a ...

起一个大家都能记得的名字 博客 8669

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java.ByteArrayInputStream与ByteArrayOutputStream再次理解

第一次看到ByteArrayOutputStream的时候是在Nutch的部分源码,后来在涉及IO操作时频频发现这两个类的踪迹,觉得确实是很好用,所以把它们的用法总结一下。 ByteArrayOutputStream的用法 以下是JDK中的记载: public class ByteArrayOutputStream extends OutputStream 此类实现了一个输...

CodeAnt的专栏 9万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

内存输出流ByteArrayOutputStream

一、简介 1.概述 此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。 关闭 ByteArrayOutputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。 2.构造方法 ByteArrayOutputStream() ...

qq_40298054的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ByteArrayOutputStream 理解

第一次看到ByteArrayOutputStream的时候是在Nutch的部分源码,后来在涉及IO操作时频频发现这两个类的踪迹,觉得确实是很好用,所以把它们的用法总结一下。   ByteArrayOutputStream的用法 以下是JDK中的记载:  public class ByteArrayOutputStream  extends OutputStream     此类实现了一个输

gtkknd的专栏 3386

Java ByteArrayOutputStream类的使用

1. ByteArrayOutputStream使用说明 字节数组输出流在内存中创建一个字节数组缓冲区,所有发送到输出流的数据保存在该字节数组缓冲区中。创建字节数组输出流对象有以下几种方式。 下面的构造方法创建一个32字节(默认大小)的缓冲区。 OutputStream bOut = new ByteArrayOutputStream(); 另一个构造方法创建一个大小为n字节的缓冲区。 Outp...

不见其长,日有所长 8884

ByteArrayOutputStream与ByteArrayInputStream说明

1、ByteArrayInputStream ByteArrayInputStream 继承自 InputStream 包含一个内部缓冲区,其中包含可以从流中读取的字节。 内部计数器跟踪read方法要提供的下一个字节。 关闭ByteArrayInputStream没有任何效果(调用close方法)。 在关闭流之后,可以调用此类中的方法,而不生成IOException 。 使用和InputStream差不多一样,InputStream传入的是File路径,而ByteArrayInpu.

weixin_40482816的博客 4046

ByteArrayOutputStream的OutOfMemoryError错误

ByteArrayOutputStream报OutOfMemoryError错误实际是分情况的 先贴代码,再来讲述 一、主要测试代码 public static byte[] mapToBytes(HashMap map){ try{ MyByteArrayOutputStream mem_out = new MyByteArrayOutputStream(); Object

danielinbiti的专栏 9235

ByteArrayOutputStream转InputStream InputStream转ByteArrayOutputStream

日常工作记录 ByteArrayOutputStream转InputStream ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); InputStream in = new ByteArrayInputStream(outputStream.toByteArray()); InputStream转ByteArrayOutputStream ByteArrayOutputStream outStream = new ByteA

mywzj666的博客 3891

对ByteArrayOutputStream和BufferedOutputStream的理解

二者的共同点是:都是为了缓存数据的输出,提高数据输出的效率; 而二者的区别是:ByteArrayOutputStream是将数据全部缓存到自身,然后一次性输出;而BufferedOutputStream是缓存一部分后,一次一次的输出。 这是我理解的二者的一个区别,当然,他们在用法上和使用领域上还有很多区别了,这里我就不多说了。 另外,使用ByteArrayOutputStream、B

scry5566的专栏 4368

ByteArrayOutputStream流

666

weixin_70280523的博客 3344

把读取的结果写入到ByteArrayOutputStream

把读取的结果写入到ByteArrayOutputStream FileOutputStream 可以把数据写到文件中去 ByteArrayOutputStream 可以把其他地方的读入的数据写到这里面,最后获取数据所有的 byte[],相当于可以把数据全部读到内存中来. // 把读取的结果写入到ByteByteArrayOutputStream public static void main(...

weixin_43114485的博客 3406
上一篇: bitmap
下一篇: Android异步任务AsyncTask
sunjunlaing52
博客等级 码龄16年 13粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值