首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的输入输出流管

Java中的输入输出流管
EN

Stack Overflow用户
提问于 2008-12-13 06:49:13
回答 7查看 38.4K关注 0票数 9

是否有人对在InputStream和OutputStream中创建管道对象有任何好的建议,因为Java不具有多重继承,而且这两个流都是抽象类而不是接口?

底层的需求是,有一个对象可以传递给需要InputStream或OutputStream才能将输出从一个线程输送到另一个线程输入的事物。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-12-13 23:25:02

这个问题的重点似乎被忽略了。如果我正确地理解了您,您需要一个在一个线程中像InputStream那样工作的对象,在另一个线程中创建一个类似于OutputStream的对象来创建两个线程之间的通信方式。

也许一个答案是使用组合而不是继承(这是推荐的做法)。创建一个管道,其中包含一个PipedInputStream和一个相互连接的PipedOutputStream,其中包含getInputStream()和getOutputStream()方法。

您不能直接将管道对象传递给需要流的东西,但是可以传递它的get方法的返回值。

这对你有用吗?

票数 8
EN

Stack Overflow用户

发布于 2008-12-13 08:22:12

java.io.PipedOutputStream和java.io.PipedInputStream看起来是用于此场景的类。它们被设计成一起用于在线程之间输送数据。

如果您真的想要传递某个对象,那么它需要包含每个对象中的一个并通过getter公开它们。

票数 6
EN

Stack Overflow用户

发布于 2008-12-13 07:01:04

我认为这是一件很平常的事。看这个问题。

Easy way to write contents of a Java InputStream to an OutputStream

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/364936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档