如果它过大,Guava是否有过载中止流?

pub*_*tic 1 java servlets guava

我有一个servlet,客户端也会发布xml或json数据.

目前我正在使用Guava阅读发布的内容:

String string = CharStreams.toString( new InputStreamReader( inputStream, "UTF-8" ) );
Run Code Online (Sandbox Code Playgroud)

我希望能够中止我阅读已发布文件的整个操作,如果它的大小更大.

有没有办法使用番石榴做这个或我必须知道实现我自己的功能来做到这一点?

Sot*_*lis 5

我没有看到任何中止,但您可以使用ByteStreams#limit(InputStream, long)设置要读取的最大字节数.在InputStream返回的将简单地返回-1任何read(..)认为超过限制.

如果你真的想要中止行为,你可以编写自己的InputStream包装器,如果你超过读取的一些字节数就抛出异常.