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

时间:2014-09-23 15:22:16

标签: java servlets guava

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

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

String string = CharStreams.toString( new InputStreamReader( inputStream, "UTF-8" ) );

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

有没有办法使用Guava做到这一点,还是我必须知道实现我自己的功能才能做到这一点?

1 个答案:

答案 0 :(得分:5)

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

如果您真的想要中止行为,您可以编写自己的InputStream包装器,如果超过读取的字节数,则会抛出异常。