zoukankan      html  css  js  c++  java
  • 113.Java操作数据的流对象

    操作数组的流对象

    操作字节数组

    ByteArrayInputStream

       以及ByteArrayOutputStream

    toByteArray();

    toString();

    writeTo(OutputStream);

    public static void testByteArrayInputStream() throws Exception {
            InputStream in = new ByteArrayInputStream(new byte[] { 65, 66, 67 });
            ByteArrayOutputStream out = new ByteArrayOutputStream();
    
            for (int b = -1; (b = in.read()) != -1;) {
                out.write(b);
            }
    
            in.close();
            out.close();
    
            System.out.println(Arrays.toString(out.toByteArray()));
            System.out.println(out);
        }

     操作字符数组

    CharArrayReader

    CharArrayWriter

    对于这些流,源是内存。目的也是内存。

    而且这些流并未调用系统资源。使用的就是内存中的数组。

    所以这些在使用的时候不需要close。

    操作数组的读取流在构造时,必须要明确一个数据源。所以要传入相对应的数组。

    对于操作数组的写入流,在构造函数可以使用空参数。因为它内置了一个可变长度数组作为缓冲区。

    public static void testCharArrayReader() throws Exception {
            CharArrayReader reader = new CharArrayReader(new char[] { 'A', 'b', 'c' });
            CharArrayWriter writer = new CharArrayWriter();
    
            for (int b = -1; (b = reader.read()) != -1;) {
                writer.write(b);
            }
    
            reader.close();
            writer.close();
    
            System.out.println(writer.toCharArray());
        }

    这几个流的出现其实就是通过流的读写思想在操作数组。

    类似的对象同理:

    StringReader

    StringWriter。

    public static void testStringReader() throws Exception {
            StringReader reader = new StringReader("test 中国");
            StringWriter writer = new StringWriter();
    
            for (int b = -1; (b = reader.read()) != -1;) {
                writer.write(b);
            }
    
            reader.close();
            writer.close();
    
            System.out.println(writer.toString());
        }
    author@nohert
  • 相关阅读:
    Android Fragment与Activity通讯详解
    Fragment之间的交互
    理解Fragment的生命周期
    Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
    【APP UI 设计模式】(一)APP UI 设计原则和流程
    白话经典算法系列之六 高速排序 高速搞定
    究竟什么是推荐?
    Mongo散记--聚合(aggregation)& 查询(Query)
    C/C++程序猿必须熟练应用的开源项目
    PL/SQL连接oracle数据库
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/13670060.html
Copyright © 2011-2022 走看看