⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testpipedinputstream.java

📁 本书是一本为Java学习者在基础内容学习结束后进行课程设计时提供参考的指导书
💻 JAVA
字号:
package apibook.c3.s8;

import java.io.*;

//测试PipedOutputStream和PipedInputStream类
public class TestPipedInputStream {
  public TestPipedInputStream() {
  }

  public static void main(String[] args) {
    try {
        PipedOutputStream producer = new PipedOutputStream();
        PipedInputStream consumer = new PipedInputStream(producer);

        StringConsumer strconsumer = new StringConsumer(consumer);
        StringProducer strproducer = new StringProducer(producer);

        strconsumer.start();
        strproducer.start();
    } catch (IOException e) {
        e.printStackTrace();
    }
  }
}
//辅助类:字符串输出器
class StringConsumer extends Thread {
    private DataInputStream in;

    public StringConsumer(InputStream i) {
        in = new DataInputStream(i);
    }
    public void run() {
        while (true) {
          try {
            int num = in.available();
            byte[] content = new byte[num];
            in.read(content, 0, num);//从管道读取字符串
            System.out.println("read from pipe: " + new String(content));
            sleep(500);//sleep500毫秒
          }
          catch (IOException e) {
            e.printStackTrace();
          }
          catch (InterruptedException e) {
            e.printStackTrace();
          }
        }
    }
}

//辅助类:字符串产生器
class StringProducer extends Thread {
    private DataOutputStream out;

    public StringProducer(OutputStream o) {
        out = new DataOutputStream(o);
    }
    public void run() {
        while (true) {
            try {
                String content = "string from stringproducer";
                out.writeBytes(content);//向管道写入字符串
                out.flush();
                sleep(800);  // sleep800毫秒
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -