将 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();
}
}
但是有更好的方法吗?我只想做个测试!
原文由 Adrian Mouat 发布,翻译遵循 CC BY-SA 4.0 许可协议
我会使用
ByteArrayOutputStream
。完成后,您可以致电:或更好:
对于
String
构造函数,codepage
可以是String
或 java.nio.charset.Charset 的实例。一个可能的值是 java.nio.charset.StandardCharsets.UTF_8 。方法
toString()
只接受String
作为codepage
参数(支持 Java 8)。