Java IO学习5:内存操作流

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 }
复制代码
Face your past without regret. Handle your present with confidence.Prepare for future without fear. keep the faith and drop the fear. 面对过去无怨无悔,把握现在充满信心,备战未来无所畏惧。保持信念,克服恐惧!一点一滴的积累,一点一滴的沉淀,学技术需要不断的积淀!
原文地址:https://www.cnblogs.com/200911/p/2706350.html