ByteArrayOutputStream内存流
简介
ByteArrayOutputStream 对byte类型数据进行写入的类 相当于一个中间缓冲层,创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。
- 作用:
在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。
- 注意:
关闭ByteArrayOutputStream无效,此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException
- 原因:
操作的都是内存中的数组,所以不需要关闭,直接操作字节数组就可以了
故: ByteArrayInputStream 使用场景很少 不在做案例
JAVA代码
复制@Test
public void demoTest() throws IOException {
//创建字节输入流
FileInputStream inputStream=new FileInputStream("F:\\temp\\t.txt");
//创建输出流
ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
byte[] bytes=new byte[3];
int a;
while ((a=inputStream.read(bytes))!=-1){
byteArrayOutputStream.write(bytes,0,a);
}
//得到全部输入的字符流
byte[] bytes1 = byteArrayOutputStream.toByteArray();
//进行输出
System.out.println(new String(bytes1));
byteArrayOutputStream.close();
inputStream.close();
System.out.println("关闭byteArrayOutputStream流后进行使用:"+new String(byteArrayOutputStream.toByteArray()));
}
Gitee地址
https://gitee.com/zhuayng/foundation-study/tree/develop/JavaBasis/Other/src/main/java/com/yxkj/other/modular/flow/common/bytearray
参考:
https://www.cnblogs.com/tfxz/p/13251762.html
XFS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~