3 回答

TA贡献1828条经验 获得超6个赞
我会用一个ByteArrayOutputStream。完成后,您可以致电:
new String( baos.toByteArray(), codepage );
或更好:
baos.toString( codepage );
对于String构造函数,codepage可以是java.nio.charset.CharsetString的实例或实例。可能的值是java.nio.charset.StandardCharsets.UTF_8。
该方法toString()仅接受a String作为codepage参数(标准Java 8)。

TA贡献1852条经验 获得超7个赞
这很好
OutputStream output = new OutputStream()
{
private StringBuilder string = new StringBuilder();
@Override
public void write(int b) throws IOException {
this.string.append((char) b );
}
//Netbeans IDE automatically overrides this toString()
public String toString(){
return this.string.toString();
}
};
方法调用= >> marshaller.marshal( (Object) toWrite , (OutputStream) output);
然后打印字符串或获取字符串,只需引用“输出”流本身即可例如,将字符串打印到控制台= >> System.out.println(output);
仅供参考:我的方法调用marshaller.marshal(Object,Outputstream)用于处理XML。它与本主题无关。
这对于生产用途是非常浪费的,存在太多的转换方式,并且有点松散。刚刚进行了编码,以向您证明完全有可能创建自定义OuputStream并输出字符串。但是,只要按照Horcrux7的方式进行,那么只需两个方法调用就可以了。
世界生活在另一天。
添加回答
举报