【Java|(Java)内存操作流】程序中的输入和输出不只可以从文件出来,也可以将输出的位置设置在内存上。此时就需要使用到 ByteArrayInputStream、ByteArrayOutputStream 来完成输入和输出。
ByteArrayInputStream:主要完成将内容写入到内存中
ByteArrayOutputStream:主要完成将内存中的数据输出

文章图片
ByteArrayInputStream 类的主要方法:

文章图片
ByteArrayInputStream 主要是使用构造方法将全部的内容读取到内存中,如果要想把内容从内存中取出,则可以使用 ByteArrayOutputStream 类。
ByteArrayOutputStream 类的主要方法:

文章图片
使用内存操作流完成将大写字母转换为小写字母的程序:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class Root{
public static void main(String[] args) {
String str = "HELLO WORLD";
ByteArrayInputStream bis = null;
//声明一个内存的输入流
ByteArrayOutputStream bos = null;
//声明一个内存的输出流
bis = new ByteArrayInputStream(str.getBytes());
//向内存中输出内容
bos = new ByteArrayOutputStream();
//准备从 ByteArrayOutputStream 中读取数据
int temp =0;
while ((temp = bis.read()) != -1) {
char c = (char)temp;
//将读取的数字变为字符
//每次都写入一个字符,不断写入
bos.write(Character.toLowerCase(c));
//将字符变为小写
}
String newStr = bos.toString();
//取出内容
try{
bis.close();
bos.close();
}catch (IOException e){
e.printStackTrace();
}
System.out.println(newStr);
}
}

文章图片
此时的所有操作全部是在内存中完成的
内存操作流一般在生成一些临时信息时才会使用,而这些临时信息如果要保存在文件中,则代码执行完后还要删除这个临时文件,因此此时使用内存操作流最合适
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)