Java|(Java)内存操作流

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

ByteArrayInputStream:主要完成将内容写入到内存中 ByteArrayOutputStream:主要完成将内存中的数据输出

Java|(Java)内存操作流
文章图片

ByteArrayInputStream 类的主要方法:
Java|(Java)内存操作流
文章图片

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

使用内存操作流完成将大写字母转换为小写字母的程序
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)内存操作流
文章图片

此时的所有操作全部是在内存中完成的
内存操作流一般在生成一些临时信息时才会使用,而这些临时信息如果要保存在文件中,则代码执行完后还要删除这个临时文件,因此此时使用内存操作流最合适

    推荐阅读