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 }