gpt4 book ai didi

java - 将 InputStream 转换为固定长度字符串的 Stream

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:43:43 26 4
gpt4 key购买 nike

喜欢 Convert InputStream into Stream<String> given a Charset我想转换 InputStream is进入 Stream<String> stream .但这次不是拆分 InputStream在换行符处,我想将它分成等长的部分。因此,流的所有字符串都将具有相同的长度(流的最后一个元素可能有异常(exception),它可能更短)。

最佳答案

我认为仅使用类库方法是不可能的,因此您必须按照与 BufferedReader.lines 相同的模式编写自己的逻辑。 :

  1. InputStreamReader - 首先创建一个 InputStreamReader
  2. Iterator<String> - 实现自定义 Iterator 子类,根据需要将流拆分为多个部分。听起来您想实现 hasNext()next()调用readPart()最多读取 N 个字符。
  3. Spliterators.spliteratorUnknownSize - 将迭代器传递给此方法以创建一个 Spliterator。
  4. StreamSupport.stream - 将 Spliterator 传递给此方法以创建流。

最终,类库没有用于从输入流读取并转换为固定大小字符串的内置函数,因此您必须为#1/#2 编写这些函数。之后,在#3/#4 中转换为流并不算太糟糕,因为有类库方法可以提供帮助。

关于java - 将 InputStream 转换为固定长度字符串的 Stream<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com