Java-IO流-用于操作数组和字符串的流对象

2018-07-23  本文已影响13人  码农随想录
源和目的都是内存的流的。
字节流:
ByteArrayInputStream  ByteArrayOutputStream

字符流
CharArrayReader  CharArrayWriter
StringReader  StringWriter
原理其实通过流的read,write方法对数组以及字符串进行操作。
关闭这些流都是无效的。因为并未调用系统资源。不需要抛出IOException。
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

public class ByteArrayStreamDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //源和目的都内存的读写过程。
        
        //源:内存。
        ByteArrayInputStream bis = new ByteArrayInputStream("abcde".getBytes());//用流的读写思想操作数组中的数据。
        
//      byte[] buf = "abcde".getBytes();
//      for(byte b : buf){
//          bos.write(b);
//      }
        
        //目的:内存。
        ByteArrayOutputStream bos = new ByteArrayOutputStream();//内部有一个可自动增长的数组。
        
        //不断的读写。
        int ch = 0;
        while((ch=bis.read())!=-1){
            bos.write(ch);
        }
        //因为没有调用底层资源,所以不要关闭,即使调用了close,也没有任何效果,不会抛出IOException.
        
        System.out.println(bos.toString());

    }

}
上一篇下一篇

猜你喜欢

热点阅读