java - 如何在 Java 中合并两个输入流?

标签 java io inputstream

在 Java 中有两个 InputStream,有没有一种方法可以合并它们,从而以一个 InputStream 结束,从而为您提供两个流的输出?怎么样?

最佳答案

正如评论,不清楚你所说的合并是什么意思。

InputStream.available 并不一定会给你一个有用的答案和流的阻塞行为,这使得从任何一个“随机”获取可用输入变得复杂。您需要两个线程从流中读取数据,然后通过 java.io.Piped(In|Out)putStream 传回数据(尽管这些类有问题)。或者,对于某些类型的流,可以使用不同的接口(interface),例如 java.nio 非阻塞 channel 。

如果您想要第一个输入流的完整内容,然后是第二个:new java.io.SequenceInputStream(s1, s2)

关于java - 如何在 Java 中合并两个输入流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760228/

相关文章:

java - 如何在 jbutton 上按下鼠标移动 jslider?

java - 使用 Maven 的 IntelliJ IDEA 中的 GUI 应用程序 : Throws NullPointerException after built into a jar

java - hibernate 条件列表后的 Postgresql 无限循环

java - 为什么我在 Android Studio 中收到此错误 "Expected resource of type raw"?

java源代码刽子手

java - Readlock和Writelock会导致writer饿死吗?

java - 为什么我的 zip 文件中的图像已损坏?

python - 如何在Python中传递file、BytesIO、StringIO供以后使用?

Java I/O - 重用 InputStream 对象

java - 如何将 JavaFX ImageView 转换为 InputStream