ByteArrayOutputStream及其在IO中的应用

简介:

一、基本概念

在创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。

可使用toByteArray()和toString()获取数据。

关闭ByteArrayOutputStream无效,此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException。

 

二、例子
 

 
  1. public String read(String filename) throws Exception  
  2. {  
  3.  FileInputStream fis = new.FileInputStream(filename);  
  4.  ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
  5.  byte[] buffer = new byte[1024];  
  6.  int len = 0;  
  7.  // 将内容读到buffer中,读到末尾为-1  
  8.  while ((len = fis.read(buffer)) != -1)  
  9.  {  
  10.   // 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用  
  11.   outStream.write(buffer, 0, len);  
  12.  }  
  13.  byte[] data = outStream.toByteArray(); // 取内存中保存的数据  
  14.  fis.close();  
  15.  String result = new String(data, "UTF-8");  
  16.  return result;  
本文转自 IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1076282如需转载请自行联系原作者

woshixuye111
相关文章
|
8月前
|
iOS开发
iOS 分享 第三方登录 Twitter 注册应用以及读写权限
iOS 分享 第三方登录 Twitter 注册应用以及读写权限
279 0
|
4月前
|
vr&ar 开发者 Python
探索未来的现实世界:混合现实(AR)与增强现实(VR)技术的应用Python异步编程:解放性能的重要利器——异步IO库深入解析
在当今科技飞速发展的时代,混合现实(AR)和增强现实(VR)技术正迅速改变着我们对现实世界的认知和体验。本文将介绍这两种技术的基本原理以及它们在不同领域的广泛应用,包括教育、医疗、旅游、娱乐等。混合现实和增强现实技术为我们带来了全新的沉浸式体验,将人与数字世界融合在一起,为未来的现实世界带来无限可能。 在当今信息爆炸的时代,高效的编程方式成为开发者追求的目标。Python异步编程与其强大的异步IO库(例如asyncio)成为了解放性能的重要利器。本文将深入解析Python异步编程以及异步IO库的原理和使用方法,帮助读者进一步掌握这一技术,提升开发效率。
|
9月前
|
存储 网络协议 Linux
如何使用io_uring构建快速响应的I/O密集型应用
当涉及构建快速响应的I/O密集型应用时,io_uring技术展现出了其卓越的潜力。本文摘要将深入探讨如何充分利用io_uring的特性来优化应用程序性能。通过异步I/O操作和高效事件处理,io_uring为开发人员提供了一种强大工具,能够显著减少I/O等待时间并实现更高的吞吐量。文章将引导读者了解如何使用io_uring的先进功能,如批量操作和SQPOLL模式,来最大限度地减少系统调用次数,从而降低了开销。同时,我们将探讨如何在不同的应用场景中利用io_uring的灵活性,为数据库、网络服务和存储系统等领域创建出色的性能。通过本文,读者将获得构建高效I/O密集型应用所需的关键见解和实用指南。
153 0
如何使用io_uring构建快速响应的I/O密集型应用
|
7月前
|
Java Unix Linux
深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用
I/O(Input/Output)模型是计算机科学中的一个关键概念,它涉及到如何进行输入和输出操作,而这在计算机应用中是不可或缺的一部分。在不同的应用场景下,选择正确的I/O模型是至关重要的,因为它会影响到应用程序的性能和响应性。本文将深入探讨四种主要I/O模型:阻塞,非阻塞,多路复用,signal driven I/O,异步IO,以及它们的应用。
深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用
|
9月前
|
存储 算法 大数据
倚天性能优化--基于倚天优化后的zstd在大数据场景应用:降低存储成本+提升重IO场景性能
倚天性能优化--基于倚天优化后的zstd在大数据场景应用:降低存储成本+提升重IO场景性能
|
10月前
|
Linux
Linux系统应用编程---文件IO
Linux系统应用编程---文件IO
60 0
|
12月前
|
区块链 vr&ar 数据安全/隐私保护
海外新规丨苹果正式允许NFT应用上架iOS 分成30%
2022年10月26日16:18天津扬帆出海官方账号 10月24日,苹果对其海外版App Store审核指南进行了更新,并首次正式为提供iOS应用程序制定了NFT相关规则。
Java基础进阶IO流-IO+Properties的联合应用
Java基础进阶IO流-IO+Properties的联合应用
Java基础进阶IO流-IO+Properties的联合应用
|
设计模式 Java 数据处理
30+视频&10+案例纵横文件与IO领域 | Java开发者高级应用站
一个程序的建立往往需要达到某些信息交换的目的,反映在计算机上就是文件之间的交流。我们的程序是怎样操作文件的?我们又该怎样从文件中读取和写入数据呢?快来这里一探究竟吧!