美文网首页
IO (管道流Demo)

IO (管道流Demo)

作者: menmo_O | 来源:发表于2017-12-31 22:30 被阅读0次
    import java.io.*;
    class Read implements Runnable
    {
        private PipedInputStream in ;
        Read(PipedInputStream in)
        {
            this.in = in;
        }
        public void run()
        {
            try
            {
                byte[] buf = new byte[1024];
                System.out.println("读取前。。没有数据,心塞");
                int len = in.read(buf);
                System.out.println("读到数据。。不心塞");
                String s = new String(buf,0,len);
                System.out.println(s);
                in.close();
            }
            catch (IOException e)
            {
                throw new RuntimeException("管道读取流失败");
            }
        }
    }
    
    class Write implements Runnable
    {
        private PipedOutputStream out;
        Write(PipedOutputStream out)
        {
            this.out = out;
        }
        public void run()
        {
            try
            {
                System.out.println("开始写入数据,等待6秒");
                Thread.sleep(6000);
                out.write("piped comming".getBytes());
                out.close();
            }
            catch (Exception e)
            {
                throw new RuntimeException("管道输出流失败");
            }
        }
    }
    
    class PipedStreamDemo 
    {
        public static void main(String[] args) throws IOException
        {
            PipedInputStream in = new PipedInputStream();
            PipedOutputStream out = new PipedOutputStream();
            in.connect(out);
    
            Read r = new Read(in);
            Write w = new Write(out);
            new Thread(r).start();
            new Thread(w).start();
        }
    }
    

    相关文章

      网友评论

          本文标题:IO (管道流Demo)

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