发布日期:2018-03-26
从输出流中得到字符串+ 查看更多
从输出流中得到字符串
+ 查看更多
发布日期:2018-03-26 10:37
分类:JAVA
浏览次数:77
如何用Java转换java.io.OutputStream的输出为字符串?
有如下方法:
有如下方法:
writeToStream(Object o, OutputStream out)
这个方法需要确切的对象和输出流,但是我想尽可能容易的得到字符串。
我在思考一个类(未测试):
这个toString方法只接受codepage参数类型的字符串(基于Java 8)
我在思考一个类(未测试):
class StringOutputStream extends OutputStream { StringBuilder mBuf; public void write(int byte) throws IOException { mBuf.append((char) byte); } public String getString() { return mBuf.toString(); } }
但是有更好的方法吗?
回答
我使用ByteArrayOutputStream,然后你可以调用:
new String( baos.toByteArray(), codepage );或者最好用
baos.toString( codepage );对于String的构造函数,codepage可能是一个字符串或是java.nio.charset.Charset的一个实例,可能值是java.nio.charset.StandardCharsets.UTF_8。
这个toString方法只接受codepage参数类型的字符串(基于Java 8)