Java:String 与 StringWriter?

问题描述 投票:0回答:2

如果我有一个字节数组(可能来自相当大的文件),哪个更适合构造字符串?

new String(byteArr, UTF_8);

try (final ByteArrayInputStream decompressed = new ByteArrayInputStream(byteArr);
     final StringWriter stringWriter = new StringWriter()) {

  IOUtils.copy(decompressed, stringWriter, UTF_8);
  return stringWriter.toString();

} catch(...) {//...}

在这里使用

StringWriter
有什么好处吗?

java string stream byte
2个回答
0
投票

如果目标是将您已有的表示 UTF-8 文本的字节数组转换为单个

String
,那么
new String(bytes, UTF_8)
无疑是最好、最有效的解决方案。

如果其中任何一个不正确,例如您正在增量读取文件,情况可能会发生变化,但您必须指定情况。


-1
投票

对于小型到中等大小的字节数组,请使用 new String(byteArr, UTF_8) 以实现简单和高效。对于非常大的文件或基于流的处理,请考虑 ByteArrayInputStream 方法,但它更复杂。

© www.soinside.com 2019 - 2024. All rights reserved.