zoukankan      html  css  js  c++  java
  • Java基础之管道流对象 PipedInputStream / PipedOutputStream

    管道流 PipedInputStream / PiedOutputStream 说明:输入输出可以直接进行连接,通过结合线程使用。
    import java.io.*;

    class PipedStreamDemo
    {
        public static void main(String[] args) throws Exception
        {
            PipedInputStream in = new PipedInputStream();
            PipedOutputStream out = new PipedOutputStream();
            
            in.connect(out);
            
            new Thread(new Reader(in)).start();
            new Thread(new Writer(out)).start();
        }
    }

    class Reader implements Runnable
    {
        private PipedInputStream in;
        public Reader(PipedInputStream in)
        {
            this.in = in;
        }
        
        public void run()
        {
            try        
            {
                byte[] buffer = new byte[1024];
                int length = 0;
                System.out.println("等待读取数据...");
                while((length=in.read(buffer))!=-1)
                {
                    System.out.println(new String(buffer,0,length));
                }
                
                in.close();
            }
            catch(Exception e)
            {
                throw new RuntimeException(e.getMessage());
            }
        }
    }

    class Writer implements Runnable
    {
        private PipedOutputStream out;
        public Writer(PipedOutputStream out)
        {
            this.out = out;
        }
        
        public void run()
        {
            try        
            {
                System.out.println("六秒后开始写入数据...");
                Thread.sleep(6000);
                out.write("hello PipedStream here.".getBytes());
                out.close();
            }
            catch(Exception e)
            {
                throw new RuntimeException(e.getMessage());
            }
        }
    }
  • 相关阅读:
    Learning Experience of Big Data:The First Day-Try to set up a network connection on my virtural machine
    Learning Experience of Big Data: Learn to install CentOs 6.5 on my laptop
    事物总线模式实例——EventBus实例详解
    软件架构——事件总线模式
    阅读《大型网站技术架构》,并结合"重大需求征集系统"有感
    淘宝网的六个质量属性
    读架构漫谈博文有感
    06软件需求读书笔记(六)
    .NET应用程序性能优化
    【转】消息队列设计精要
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2891434.html
Copyright © 2011-2022 走看看