小编典典

将 OutputStream 转换为字符串

all

将 java.io.OutputStream 的输出通过管道传输到 Java 中的 String 的最佳方法是什么?

说我有方法:

  writeToStream(Object o, OutputStream out)

它将某些数据从对象写入给定的流。但是,我想尽可能轻松地将此输出转换为字符串。

我正在考虑编写这样的课程(未经测试):

class StringOutputStream extends OutputStream {

  StringBuilder mBuf;

  public void write(int byte) throws IOException {
    mBuf.append((char) byte);
  }

  public String getString() {
    return mBuf.toString();
  }
}

但是有更好的方法吗?我只想做个测试!


阅读 127

收藏
2022-03-04

共1个答案

小编典典

我会用一个ByteArrayOutputStream. 完成后,您可以致电:

new String( baos.toByteArray(), codepage );

或更好:

baos.toString( codepage );

对于String构造函数,codepage可以是java.nio.charset.CharsetString的一个或一个实例。一个可能的值是java.nio.charset.StandardCharsets.UTF_8

该方法toString()仅接受 aString作为codepage参数(支持 Java 8)。

2022-03-04