Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54946762
本文出自【赵彦军的博客】

Java IO流学习总结一:输入输出流
Java IO流学习总结二:File
Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter
Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter
Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream
Java IO流学习总结七:Commons IO 2.5-FileUtils

类的继承关系

InputStream
|__ ByteArrayInputStream
OutputStream
|__ ByteArrayOutputStream

ByteArrayInputStream 可以将字节数组转化为输入流 。
ByteArrayOutputStream可以捕获内存缓冲区的数据,转换成字节数组。

ByteArrayInputStream

  • 构造函数
public ByteArrayInputStream(byte buf[])public ByteArrayInputStream(byte buf[], int offset, int length)
  • 一般方法
void  close() // 关闭该流并释放与之关联的所有资源。String getEncoding() //返回此流使用的字符编码的名称。int   read()  //读取单个字符。int    read(char[] cbuf, int offset, int length) //将字符读入数组中的某一部分。boolean  ready() //判断此流是否已经准备好用于读取。

ByteArrayOutputStream

  • 构造函数
public ByteArrayOutputStream()public ByteArrayOutputStream(int size)
  • 一般方法
void write(int b)void write(byte b[], int off, int len)void writeTo(OutputStream out)byte toByteArray()[]void close()

练习1

字节流ByteArrayInputStream的读写过程测试

package com.app;
import java.io.ByteArrayInputStream;
import java.io.IOException;public class A7 {public static void main(String[] args) {String mes = "hello,world" ;byte[] b = mes.getBytes() ;ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( b ) ;int result = -1  ;while( ( result = byteArrayInputStream.read() ) != -1){System.out.println( (char) result );}try {byteArrayInputStream.close();} catch (IOException e) {e.printStackTrace();}}}

效果:

练习2

ByteArrayOutputStream读出的字节流用FileOutputStream写入文件

package com.app;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;public class A6 {public static void main(String[] args) {String mes = "你好,world" ;byte[] b = mes.getBytes() ;ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream() ;try {byteArrayOutputStream.write( b );FileOutputStream fileOutputStream = new FileOutputStream( new File( "F:/123.txt" ) ) ;byteArrayOutputStream.writeTo( fileOutputStream ) ;fileOutputStream.flush();} catch (FileNotFoundException e) {e.printStackTrace();}catch (IOException e) {e.printStackTrace();}finally{try {byteArrayOutputStream.close();} catch (IOException e) {e.printStackTrace();}}}}

效果:

个人微信号:zhaoyanjun125 , 欢迎关注

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTu9I1am-1599192091593)(http://o7rvuansr.bkt.clouddn.com/weixin200.jpg)]

Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream相关推荐

  1. Java IO流学习总结七:Commons IO 2.5-FileUtils

    Java IO流学习总结七:Commons IO 2.5-FileUtils 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/5497 ...

  2. Java IO流学习总结二:File

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54581478 本文出自[赵彦军的博客] Java IO流学习总结一:输入输出流 J ...

  3. Java IO流学习总结(一)—— IO流分类和常用IO流汇总

    Java IO流学习总结(一)-- IO流分类和常用IO流汇总 IO流的分类: - 按流向分类:输入流.输出流 - 按操作对象分类:字节流.字符流 - 按功能分类:节点流.处理流 IO流的设计模式为装 ...

  4. Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

    Java IO流学习总结四:缓冲流-BufferedReader.BufferedWriter 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/det ...

  5. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  6. Java IO流学习总结八:Commons IO 2.5-IOUtils

    Java IO流学习总结八:Commons IO 2.5-IOUtils 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/550519 ...

  7. 关于Java IO流学习总结

    一.IO流的三种分类方式 1.按流的方向分为:输入流和输出流 2.按流的数据单位不同分为:字节流和字符流 3.按流的功能不同分为:节点流和处理流     二.IO流的四大抽象类: 字符流:Reader ...

  8. Java io流学习总结(三)

    转载于:https://www.cnblogs.com/ll409546297/p/7197911.html java.io几种读写文件的方式 一.Java把这些不同来源和目标的数据都统一抽象为数据流 ...

  9. Java - IO流学习笔记

    1.文件和文件夹 内存中存放的数据信息在计算机关机后就会消失,如果想要长久的保存数据,就需要使用到光盘.硬盘等设备,为了便于数据的管理以及检索,引入了"文件"的概念.一篇文章,一个 ...

最新文章

  1. finalshell文件列表不显示_Jira面板配置_待办事项不显示问题列表
  2. mysql在线上建索引,mysql 5.6在线DDL建索引测试
  3. Salesforce Lightning开发学习(二)Component组件开发实践
  4. 盘丝洞服务器维护,斗战神哪些区合区了_斗战神合区后名字重复怎么办_快吧游戏...
  5. 网络风行者(KSpider)的规则体系结构
  6. android 模拟点击localinstrumentation,Android Instrumentation模拟鼠标点击事件
  7. python编程入门经典实例-总算明了python编程入门经典实例
  8. UVA1386 【Cellular Automaton】题解
  9. Android SDK下载失败的解决方法
  10. ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)
  11. 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音
  12. 谷歌 Provisional headers are shown 和360急速模式 网络连接错误
  13. 如何在Pages for Mac中添加页眉、页脚和页码?
  14. (webapp)微信和safri 对于html5 部分功能不兼容,多选或单选下拉框去除边框无效果。...
  15. 【附白皮书下载】专家黄正杰:从微笑曲线出发,思考制造业数字化转型方向
  16. 晶体管共发射极应用电路
  17. HBuilder git使用教程
  18. 微信小程序——点击不同的标签,弹出显示不同的内容
  19. TCP报文之-tcp dup ack 、tcp Out-of-Order
  20. ERC20标准函数简介与测试方法

热门文章

  1. alipay html5 app,H5App支付宝开发详解
  2. android获取url参数值,android 获取url 参数值
  3. 北邮高级语言设计基于java期末_北邮《高级语言程序设计》第三次阶段作业带答案...
  4. java程序阅读技巧_Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!...
  5. json 序列化 java_Java JSON序列化杂谈
  6. esp32 rtc 时钟设置不对_STM32入门系列-STM32时钟系统,STM32时钟树
  7. php编写开机启动脚本,设置 msyql php-fpm 开机自动启动脚本
  8. 深度学习和目标检测系列教程 17-300: 3 个类别面罩检测类别数据集训练yolov5s模型
  9. Nginx安装及其编译命令、详细教程
  10. 国庆假 的CSS +JS 学习笔记