• 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());
            }
        }
    }
  • 相关阅读:
    ceph之image(转)
    CEPH集群RBD快照创建、恢复、删除、克隆(转)
    java操作ceph之rbd基本操作
    Kubernetes (1.6) 中的存储类及其动态供给
    Linux 网络编程详解九
    Linux 网络编程详解八
    Linux 网络编程详解七(并发僵尸进程处理)
    Linux 网络编程详解六(多进程服务器僵尸进程解决方案)
    Linux 网络编程详解五(TCP/IP协议粘包解决方案二)
    C语言 memset函数盲点
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2891434.html
Copyright © 2020-2023  润新知