gpt4 book ai didi

java - 如何在不先将它们附加到 StringBuilder 的情况下从一堆字符串中创建一个读取器?

转载 作者:行者123 更新时间:2023-11-29 03:51:33 26 4
gpt4 key购买 nike

假设我有几个包含大量数据的 Sting。我必须将它们的串联传递给我使用的库中的方法。我可以为此使用 String 或 Reader。

  1. 追加它们并传递一个字符串是不可能的,因为我可能会遇到 OOM。不再有更改 -Xmx 的选项。
  2. 那么,有没有办法根据我所有的字符串创建一个读取器,不必先创建一个字符串,然后再创建一个 StringReader?这样我就可以避免 OOM

ps:我已经为我的第一个选项设置了StringBuilder的初始容量,但这还不够,所以我正在寻找一种方法来实现2。

最佳答案

我不知道内置方式或第 3 方选项,但使用字符串列表(或数组)编写自己的阅读器应该不难。根据 Reader javadocs:

“子类必须实现的唯一方法是 read(char[], int, int) 和 close()”

close() 应该很简单。所以你真的只需要实现一个方法,read(char[], int, int)。保留您正在阅读的字符串的索引,以及您在字符串中的位置。剩下的留给读者作为练习。 :-) 你可能想实现 read() 以提高速度。

关于java - 如何在不先将它们附加到 StringBuilder 的情况下从一堆字符串中创建一个读取器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564631/

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