美文网首页
Java-IO流-用于操作数组和字符串的流对象

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

作者: 码农随想录 | 来源:发表于2018-07-23 15:15 被阅读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());
    
        }
    
    }
    

    相关文章

      网友评论

          本文标题:Java-IO流-用于操作数组和字符串的流对象

          本文链接:https://www.haomeiwen.com/subject/iuljmftx.html