我有一个servlet,客户端也会发布xml或json数据。
目前我正在使用Guava阅读发布的内容:
String string = CharStreams.toString( new InputStreamReader( inputStream, "UTF-8" ) );
我希望能够中止我阅读已发布文件的整个操作,如果它的大小更大。
有没有办法使用Guava做到这一点,还是我必须知道实现我自己的功能才能做到这一点?
答案 0 :(得分:5)
我没有看到任何中止,但您可以使用ByteStreams#limit(InputStream, long)
来设置要读取的最大字节数。返回的InputStream
只会在超过限制的任何read(..)
上返回-1。
如果您真的想要中止行为,您可以编写自己的InputStream
包装器,如果超过读取的字节数,则会抛出异常。