Java IO学习笔记(五):内存操作流
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 }