Java中是否可以生成动态InputStream?

Vic*_*cky 5 java inputstream

我在网上查看了InputStreams,似乎您只能定义一个带有预定义输入的InputStream,它将从中读取。如果我想要一个输入流,我们不确定数据是什么样子或者有多长,但它是在运行中的某个地方生成的,但完成后最终会返回零字节,该怎么办?

我所说的预定义是指大多数构造函数都会接受您已经定义的读取内容(例如:ByteArrayInputStream(byte[] array)、FileInputStream(File file))

我的用例是,我有一个返回一定量数据的方法(该方法调用服务的时间未知,我想在动态生成时流式传输这些数据)

use*_*421 3

当然,只需扩展InputStream并让它做任何您想做的事即可。ByteArrayInputStream正是这样做的。