ByteArrayInputStream和ByteArrayOutputStream

之前所讲解的程序中,输出和输入都是从文件中来得,当然,也可以将输出的位置设置在内存之上,此时就要使用ByteArrayInputStream、ByteArrayOutputStream来完成输入输出功能了

ByteArrayInputStream的主要功能将内容输入到内存之中

ByteArrayOutputStream的主要功能是将内存中的数据输出

此时应该把内存作为操作点

ByteArrayInputStream类的定义:

public class ByteArrayInputStream extends InputStream

构造方法:

public ByteArrayInputStream(byte[] buf)

接受一个byte数组,实际上内存的输入就是在构造方法上将数据传入到内存中。

ByteArrayOutputStream:输出就是从内存中写出数据

public void write(int b)

以下是以内存操作流完成的一个大小写字母转换的程序:

 1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6  7 public class Test22 { 8     public static void main(String[] args) throws IOException { 9         String str="HELLO WORlD!!!";10         InputStream input=new ByteArrayInputStream(str.getBytes());11         OutputStream output=new ByteArrayOutputStream();12         int temp=0;13         while((temp=input.read())!=-1){14             output.write(Character.toLowerCase(temp));15         }16         input.close();17         output.close();18         System.out.println(output.toString());19     }20 }

转载于:https://www.cnblogs.com/lich/archive/2011/12/11/2283883.html

Java IO学习笔记(五):内存操作流相关推荐

  1. Java IO学习笔记总结

    Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamW ...

  2. Java IO学习笔记四

    内存操作流 之前的所有的流操作都是针对文件的,但是有时候只是想要实现数据间转换,此时如果我们想要创建一个文件然后再删除文件,那样显得有点麻烦,因此此时的内存操作流就显得很适合这类的操作,因为它只是在内 ...

  3. Java IO学习笔记(四)打印流

    1.只有输出流才有打印流:PrintWriter和PrintStream分别针对字符和字节,提供了重载的print,Println方法用于多种数据类型的输出.PrintWriter和PrintStre ...

  4. Java IO ---学习笔记(数据流)

    数据流: 接口 DataInput 和 DataOutput,设计了一种较为高级的数据输入输出方式:除了可处理字节和字节数组外,还可以处理 int.float.boolean等基本数据类型,这些数据在 ...

  5. 冰冰学习笔记:内存操作函数

    在前面的章节中我们介绍了字符操作函数的用法,用以实现字符串的复制,连接,比较,查找等操作.但是C语言中并非只有字符串需要这些操作,其他类型的变量也会用到复制,比较等操作.此时,字符串操作函数将不再适用 ...

  6. Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,转换流,随机访问流,合并流,序列化流,Properties...

    你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新 ...

  7. Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,转换流,随机访问流,合并流,序列化流,Properties

    你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新 ...

  8. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流...

    File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) •p ...

  9. 黑马程序员Java教程学习笔记(五)

    学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(五) 日期时间:Date.Sim ...

  10. Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

最新文章

  1. 【WEB API项目实战干货系列】- API登录与身份验证(三)
  2. MySQL主从数据库同步延迟问题解决
  3. tomcat服务器上https的SSL证书安装配置
  4. rocketmq之控制台rocketmq-console编译安装(二)
  5. 为什么找不到用户和计算机名,计算机管理里没有(本地用户和组)了为什么怎么恢复...
  6. 第一章 WebGL简介 Introduction
  7. Spring 5 新功能:函数式 Web 框架
  8. html 二级菜单 鼠标移动消失,鼠标一离开导航菜单,二级菜单就隐藏,移不到二级菜单...
  9. 07 -模型层ORM
  10. 【Python】Tkinter教程
  11. 联想MIIX520安装黑苹果参考教程
  12. 计算机网络期中考试总结反思,期中考试总结与反思范文
  13. nfs挂载文件系统时VFS: Unable to mount root fs on unknown-block的问题解决
  14. 人一生中要学会说的十种话
  15. (八)博客详情页面(内容排版typo.css)插件集成
  16. 在rails中pluck和select和collect区别
  17. 谷歌Fuchsia操作系统对编程语言的支持决议
  18. python numpy 多条件筛选
  19. ker矩阵是什么意思_矩阵求逆的几何意义是什么?
  20. 百问网7天物联网智能家居 学习心得 打卡第五天

热门文章

  1. 苹果mac误删文件怎样快速找回?
  2. 苹果/mac提供解决方法:macOS Big Sur 更新导致旧款 MacBook Pro 黑屏变砖
  3. 关于LINUX的NVIDIA显卡驱动安装
  4. 09面向对象基本概念
  5. BZOJ 5277 IQ题orz
  6. noteless的博客导航页 所有文章的导航页面
  7. 各种开源协议介绍 BSD、Apache Licence、GPLv2 、v3 、LGPL、MIT
  8. 极具破坏力的Linux系统命令
  9. 妙用TurboMail企业通讯平台,重要邮件不再躲猫猫
  10. 掌管大局的IoC Service Provider