ByteArrayOutputStream和ByteArrayInputStream的简单使用

@ByteArrayOutputStream和ByteArrayInputStream的简单使用

1.首先看下这两个IO流是什么?

ByteArrayOutputStream:字节数组输出流.在内存中创建一个字节数组缓冲区,所有发送到输出流的数据保存在该字节数组缓冲区中。
ByteArrayInputStream:字节数组输入流.在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中。

2.java实现文件读入与写出:

package com.example.filedemo.demo;import java.io.*;public class ByteArrayIODemo {public static void main(String[] args) {byte[] bytes = ByteArrayOutputStreamDemo();System.out.println(bytes.length);  //62230ByteArrayInputStreamDemo(bytes);}//FileInputStream 把文件数据 读入 内存//ByteArrayOutputStream 把内存中数据 读入 字节数组缓冲区public static byte[] ByteArrayOutputStreamDemo() {byte[] bytes = new byte[1024];int len = -1;//缓冲流提升字节输入流效率;try (BufferedInputStream in = new BufferedInputStream(new FileInputStream("C:\\demo\\picture.jpeg"));ByteArrayOutputStream out = new ByteArrayOutputStream()) {while ((len = in.read(bytes)) != -1) {out.write(bytes, 0, len);}return out.toByteArray();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return null;}// ByteArrayInputStream把byte[] 读入 字节数组缓冲区//FileOutputStream把字节数组缓冲区中数据输出成文件public static void ByteArrayInputStreamDemo(byte[] byteArray) {byte[] bytes = new byte[1024];int len = -1;//try (ByteArrayInputStream in = new ByteArrayInputStream(byteArray);//FileOutputStream 构造方法 第二个属性值 append 为true时,在原有数据上追加数据;append为flase时,覆盖原有数据;BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("C:\\demo2\\picture.jpeg", true))) {while ((len = in.read(bytes)) != -1) {out.write(bytes, 0, len);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink 1.10 细粒度资源管理解析

相信不少读者在开发 Flink 应用时或多或少会遇到在内存调优方面的问题,比如在我们生产环境中遇到最多的 TaskManager 在容器化环境下占用超出容器限制的内存而被 YARN/Mesos kill 掉[1],再比如使用 heap-based StateBackend 情况下 State 过大导致 GC 频…

一文告诉你雾计算与云计算的区别及对物联网的价值!

作者 | Victoria Puzhevich翻译 | 风车云马,责编 | 晋兆雨出品 | CSDN云计算头图 | 付费下载于视觉中国雾计算是一种分布式计算结构。将数据和应用程序等资源放置在数据源和云之间的逻辑位置。雾计算的优点之一是让许多用户同时连接到互联网上。从本质上说&#xff…

企业微信H5_消息推送概述,发送应用消息示例

文章目录一、阅读和调试1. 文档阅读2. postman发送消息二、实战演练2.1. 发送消息2.2. 前端代码2.3. 后端代码2.4. 发送文本消息2.5. 接收消息三、源码分享3.1. 后端源码3.2. 前端源码一、阅读和调试 1. 文档阅读 文档链接:https://developer.work.weixin.qq.com/…

linux部署springboot项目及后台执行linux命令的两种方式

linux部署springboot项目及后台执行linux命令的两种方式 1.将springboot项目打成jar包 这里推荐两种方法: 第一种:在idea的terminal窗口执行命令:mvn package spring-boot:repackage 第二种:在maven的Lifestyle中点击package打包 打好的jar包会在target目录下. 2.将jar包复…

FAST20 论文学习

BCW: Buffer-Controlled Writes to HDDs for SSD-HDD Hybrid Storage Server 原文地址 为了兼顾访问性能和硬件成本,目前有不少的存储系统都采用了混合存储(Hybrid Storage),使用 SSD 来提供微秒级访问,配合 HDD 来降…

企业微信H5_消息推送接收消息回调配置、内网穿透到本地

文章目录一、环境准备1. 阅读文档2. 登录管控台3. 编辑配置4. 内网穿透5. 测试案例6. 公网访问验证7. 保存配置8. 验证URL有效性二、源码分享2.1. 后端源码2.2. 前端源码一、环境准备 1. 阅读文档 官网文档:https://developer.work.weixin.qq.com/document/path/9…

Serverless 选型:深度解读 Serverless 架构及平台选择

作者 | 悟鹏 阿里巴巴技术专家 导读:本文尝试以日常开发流程为起点,分析开发者在每个阶段要面对的问题,然后组合解决方案,提炼面向 Serverless 的开发模型,并与业界提出的 Serverless 产品形态做对应,为开发…

CSDN 星城大巡礼,长沙“科技之星”年度企业评选正式开启

2020年,长沙市委主要领导发出“软件产业再出发”的号召,颁布了软件三年行动计划。今年5月,CSDN 作为专业的 IT 社区,与长沙高新区签约,将全国总部落户长沙,这一战略决策,让CSDN与长沙的联结进一…

企业微信H5_集成消息解密类,消息推送Get及Post回调处理

文章目录一、 验证URL有效性1. 阅读文档2. 文档分析3. 加解密方案说明4. 下载加解密算法5. 案例分析二、实战集成2.1. 工具类拷贝2.2. 依赖引入2.3. 案例1集成2.4. 参数处理2.5. 重启项目2.6. 验证URL有效性2.7. 验证三、消息接收与处理3.1. 文档阅读3.2. 案例2拷贝3.3. 参数处…

新一代高效Git协同模型AGit-Flow详解

【以下为分享实录,有删节】 Git工作流概述及AGit-Flow的优势 目前,Git已成为源代码管理的标准和基础设施。“为什么Git能这么成功”?Git的创建者Linux在Git十周年的一次采访中,道出了其中的奥秘: The big thing abo…

云原生人物志|APISIX温铭:让API网关“666”

云原生已无处不在,《云原生人物志》是CSDN重磅推出的系列原创采访,我们关注云原生中每一个技术人、公司的身影。知微见著,窥见云原生价值与趋势。 作者 | 宋慧 出品 | CSDN云计算 头图 | 付费下载于IC Photo 第一期,我们采访了唯…

xshell和Xftp连接Linux

xshell和Xftp连接Linux 简单介绍下这两种工具: Xshell :远程连接linux,执行命令行; Xftp :远程连接linux,可视化的实现windows和linux之间的文件传输; 2.关于如何获知linux的ip地址 在虚拟机中登录用户,输入用户名,密码: 此处注意一点:注意区分密码的大小写!!!,因为你在设置密…

数智化时代合格数据架构师如何养成?

文章将从云计算基建、大数据基建、数据构建、数据管理、数据应用5个角度,阐述数据架构师的必备技能和素养。 云计算基建 传统的IT架构已存在几十年,随着企业业务的快速发展,对于业务的可用性要求越来越高,对于成本的压力也越来大…

企业微信_客户联系,获取客户及客户群列表及详情

文章目录一、调试接口1. 阅读文档2. 权限配置3. 指定应用二、POSTMAN调试接口2.1. 获取配置了客户联系功能的成员列表2.2. 获取客户列表2.3. 获取客户详情2.4. 获取客户群列表2.5. 获取客户群详情三、实战演练代码拆解3.1. 获取配置了客户联系功能的成员列表3.2. 获取客户列表3…

Flink 与 Hive 的磨合期

有不少读者反馈,参考上篇文章《Hive 终于等来了 Flink》部署 Flink 并集成 Hive 时,出现一些 bug 以及兼容性等问题。虽已等来,却未可用。所以笔者增加了这一篇文章,作为姊妹篇。 回顾 在上篇文章中,笔者使用的 CDH 版…

Bigdecimal基本运算及小数保留方式枚举

Bigdecimal基本运算及小数保留方式枚举 1.Bigdecimal运算 final BigDecimal a new BigDecimal("2.99"); final BigDecimal b BigDecimal.valueOf(0.49); //ab final BigDecimal add a.add(b); //a-b final BigDecimal subtract a.subtract(b); //a*b final Big…

使用arthas排查cpu飙高问题

文章目录一1. 下载arthas2. 启动3. 选择指定jvm进程4. 筛选线程5. 日志分析一 官方文档:https://arthas.aliyun.com/doc 1. 下载arthas curl -O https://arthas.aliyun.com/arthas-boot.jar2. 启动 直接用java -jar的方式启动: java -jar arthas-bo…

揭秘政企安全加速解决方案的架构与应用场景实践

## 政企网络化、在线化面临哪些挑战? 政企涵盖了政府、金融、传媒以及传统企业等几个行业,随着“互联网”业态的迅速发展,政企数字化转型正当时,特别是在新冠疫情的影响下,各行各业线上业务运营能力的建设步伐进一步…

oracle 数据库 字符串函数

oracle 数据库 字符串函数 介绍oracle对字符串的操作函数,如图所示,测试字段为:STUDENT 表的 STUNAME 字段 ps:oracle字符串索引从1开始 1.定位索引函数:instr() instr(str,char,begin,n) str:源字符串 char:目标字…

jvm如何排查生产环境cpu飙高的问题

文章目录一、生产环境 cpu 飙高产生的原因?1. CAS 自旋没有控制自旋次数2. 死循环3. 阿里云 Redis 被注入挖矿程序4. 服务器被 DDOS 工具攻击二、windows环境下如何排查cpu飙高问题2.1. 任务管理器2.2. jvisualvm三、环境下如何排查cpu飙高问题3.1. 监控命令3.2. 使…