JAVA——管道流
来源:互联网 发布:centos nginx rtmp 编辑:程序博客网 时间:2024/06/05 17:28
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 lai le".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(); }}
因为有read方法的存在,没有数据就会阻塞。
结果:
读取前。。。没有数据阻塞
开始写入数据,等待6秒后。。。
读到数据。。。阻塞停止
piped lai le
0 0
- JAVA——管道流
- Java IO流——管道流与打印流
- 黑马程序员——【Java】IO——管道流
- 黑马程序员——java基础——管道流
- java中输入输出的总括——管道流
- Java NIO —— 管道(Channel)
- Java中的管道流
- Java中的管道流
- java-管道流
- Java管道流
- java的管道流
- java 管道流
- Java管道流PipedStream
- java管道流PipedStream
- java学习--管道流
- Java中管道流
- JAVA中的管道流
- JAVA IO-管道流
- ASCII控制字符和ASCII可显示字符
- Copy List with Random Pointer
- Activity启动模式
- UNIX网络编程笔记(7)—名字与地址转换
- 基于正则表达式的数据抓包
- JAVA——管道流
- Java Web基础学习(一)
- Git & Github建立与使用
- Java内存区域与内存溢出异常
- C++ Primer Plus 第六版_编程练习(1)(Chapter_two 1-7)
- 详解Android中AsyncTask的使用
- Nim游戏 Nim Game
- android Context深度剖析
- 算法导论第六章6.4