gpt4 book ai didi

java - 在 StringWriter 中获取字符串长度?

转载 作者:行者123 更新时间:2023-11-29 08:17:13 27 4
gpt4 key购买 nike

我正在使用 JAXB,我需要知道生成的 XML 的长度,所以我将内容编码到 StringWriter,所以哪种方式更好地获取长度:

aStringWriter.getBuffer().length();
 or

aStringWriter.toString().length();
?

最佳答案

编辑:调用 toString() 将始终创建一个新字符串...虽然它不需要复制实际的字符数据,只需创建一个引用当前 的新字符串char[] 与当前长度和计数。不过,调用 getBuffer().length() 不需要创建任何额外的对象,因此效率稍微高一些。

你对输出做了什么?反正你不把它转换成字符串吗?

请注意,此处的长度始终是字符 的长度,因此它不适用于 HTTP 响应的 Content-Length header 之类的内容,它需要 中的值em>bytes(即编码后)。

编辑:好吧,如果你想要字节数,我建议你创建一个 ByteArrayOutputStream,如果可以的话直接将它传递给 JAXB(我忘记了 API 是什么样子的)或者围绕它创建一个 OutputStreamWriter。这样您就可以从 ByteArrayOutputStream 获取二进制长度。

关于java - 在 StringWriter 中获取字符串长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3744766/

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