Java 限制读取字节数的 InputStream 包装器
Java InputStream wrapper which limits the nuber of read bytes
我们需要有一个进程“窥视”传入的 InputStream 并使用 JSON 流式解析器并确保不读取超过 XXX 个字节(即我们永远不想读取过去的字节 XX)。
理想情况下,这应该以抛出某种“软”异常的 InputStream 包装器的形式出现
InputStream limited = new SizeLimitedInputStream(realInputStrea, 500000); // max 500000 bytes
try {
// peek the input
} catch (SizeLimitReachedException e) {
// that's ok
}
我一直在研究现有的库或 JDK 以避免从头开始写这个,但我不知道哪个是最好的开始 class
我们需要有一个进程“窥视”传入的 InputStream 并使用 JSON 流式解析器并确保不读取超过 XXX 个字节(即我们永远不想读取过去的字节 XX)。 理想情况下,这应该以抛出某种“软”异常的 InputStream 包装器的形式出现
InputStream limited = new SizeLimitedInputStream(realInputStrea, 500000); // max 500000 bytes
try {
// peek the input
} catch (SizeLimitReachedException e) {
// that's ok
}
我一直在研究现有的库或 JDK 以避免从头开始写这个,但我不知道哪个是最好的开始 class