对ByteArrayInputStreamh和ByteArrayOutputStream的理解及使用

来源:互联网 发布:下载农村淘宝免费下载 编辑:程序博客网 时间:2024/06/06 05:05
package io;/*  * 作用: * ByteArrayInputStream是将数据写入到内存输入流中,通过构造函数实现的,而用read()方法来读取内存输入流的数据 * ByteArrayOutputStream是将数据写入到内存输出流,通过write()方法实现的 *  * 我们可以这样理解上面的过程,将程序和内存分为两层。 * ByteArrayInputStream就是把程序这一层的数据保存进内存,而通过read()将数据读取出来 * 而ByteArrayOutputStream就是把它当做是内存的中的一个缓冲区,向其中写入数据,缓冲区自动增长, * 当写入完成时可以从中提取数据。通过toByteArray()和toString()实现。 *  *  * */import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;public class ByteArrayInputStreamAndByteArrayOutputStream {public static void main(String[] args) {// TODO Auto-generated method stubString str = "周敬zhejianggongshang wangyi";//ByteArrayInputStream内存输入流,将数据写入到内存中ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes());//ByteArrayOutputStream内存输出流,个人觉得它就是一个缓存器,从内存读取到的数据写入到在它的内部缓存区中ByteArrayOutputStream out = new ByteArrayOutputStream();int temp = 0;while((temp=in.read())!= -1){//将内存中的数据读取出来,保存在临时变量temp中out.write(temp);  //将获得到的数据写入到内存输出流对象out中}try {in.close();out.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(out.toString());}}

0 0
原创粉丝点击