• Java学习之IO流(管道流--PipedStream)


    管道流
    PipedInputStream
    PipedOutputStream

    注意:输入流和输出流必须在不同的线程中

     1 public class PipedStreamDemo {
     2 
     3     /**
     4      * @param args
     5      * @throws IOException
     6      */
     7     public static void main(String[] args) throws IOException {
     8     PipedInputStream input = new PipedInputStream();
     9     PipedOutputStream output = new PipedOutputStream();
    10 
    11     input.connect(output);
    12     new Thread(new Input(input)).start();
    13     new Thread(new Out(output)).start();
    14 
    15     }
    16 }
    17 
    18 class Input implements Runnable {
    19 
    20     private PipedInputStream in;
    21 
    22     public Input(PipedInputStream in) {
    23         this.in = in;
    24     }
    25 
    26     @Override
    27     public void run() {
    28         byte[] buf = new byte[1024];
    29         int len;
    30         try {
    31         len = in.read(buf);
    32         String str = new String(buf, 0, len);
    33         System.out.println(str);
    34         this.in.close();
    35         } catch (IOException e) {
    36 
    37         }
    38 
    39     }
    40 
    41 }
    42 
    43 class Out implements Runnable {
    44 
    45     private PipedOutputStream out;
    46 
    47     Out(PipedOutputStream out) {
    48         this.out = out;
    49     }
    50 
    51     @Override
    52     public void run() {
    53         try {
    54         out.write("管道流".getBytes());
    55         out.close();
    56         } catch (IOException e) {
    57 
    58         }
    59     }
    60 
    61 }
  • 相关阅读:
    第0次作业(第二学期)
    C语言程序设计(基础)最后一次作业-- 总结报告
    第14、15教学周作业
    第七周作业
    第六周作业
    第四周作业
    第四次作业
    2018第三次作业
    2018第二次作业
    2018第三,四作业合集
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12143759.html
Copyright © 2020-2023  润新知