首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java InputStream子流。有可能吗?

Java InputStream子流。有可能吗?
EN

Stack Overflow用户
提问于 2021-11-17 07:11:20
回答 1查看 56关注 0票数 1

我有一些InputStream作为论据:

代码语言:javascript
复制
public byte[] ellipsis(InputStream is) {

  // some code
}

我有一些阈值,例如10_000字节。

我想做以下几件事:

如果InputStream大小超过阈值,则需要从传入流中截取报文开头的2/3和结尾的1000字节,中间部分替换为三个点(...),将其转换为字节数组并返回。

整个问题是,我不知道流的长度,直到我阅读它。

也许有方法可以做到这一点,或者有一些库可以做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2021-11-17 07:21:32

您必须了解以下内容:

  1. InputStream是一个包含stream.
  2. InputStream的无限stream)
  3. Bad available()方法,它检索可供就绪的字节数(例如,如果您在开始时调用它,您可以获得新闻的长度:并不是所有的InputStream实现都支持此方法,并且您可以获得ready

所以你必须把stream读到最后才能知道它的长度。这是以100%的概率做到这一点的唯一方法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70000198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档