java - 如何使用管道 IO 流
问题描述
从 and 的文档来看PipedInputStream
,PipedOutputStream
前者形成通信管道的接收端,后者是发送端。这形成了这样的结构:
A -> PipedInputStream
-> PipedOutputStream
-> B
我的问题是如何指定 A 和 B 是什么。我希望 A 成为标准输入流System.in
, B 成为FileOutputStream
.
如果我错了,请纠正我,但我认为 Piped Stream 对象提供了一种将 an 连接InputStream
到OutputStream
. 然而,我没有看到任何将 a 连接PipedInputStream
到 a 以外的任何东西的方法PipedOutputStream
,反之亦然。
解决方案
首先通信的方向是
A -> PipedOutputStream
-> PipedInputStream
-> B。
无法将A或B设置为某些特定流。
A简单地表示一个线程调用 的write()
方法PipedOutputStream
来提交一些数据,然后将这些数据转移到PipedInputStream
另一个线程Bread()
可以使用该方法从中读取它的数据。
推荐阅读
- javascript - Bootstrap carousel slide.bs.carousel 或 slid.bs.carousel 事件未使用 Angular 触发
- haskell - 为什么是 * -> * 类型的列表?
- git - git commit does not find path on linux windows subsystem (WSL)
- mysql - 带有 MySql 数据库的 Flutter List View Builder 项目计数数据表
- flutter - 如何在颤动中保存 qrimage?
- php - Failed to load resource: the server responded with a status of 500 (Internal Server Error) |php Mysql
- installation - 如何在实习生运行 bat 文件的 wix 中运行 VBS 脚本
- drools - Optaplanner 终止属性未按给定时间工作
- c++ - 具有不同底层 STL 容器的两个类如何呈现相同的迭代器接口?
- batch-file - 为什么这段代码不显示我设置的 5 个随机标题?