以前,我有这样的代码:
Writer writer = new OutputStreamWriter(System.out, "UTF-8");
generator.stream(writer);
现在,我的代码如下所示:
string = new StringBuilder();
OutputStream output = new OutputStream()
{
public String getString()
{
return string.toString();
}
@Override
public void write(int b) throws IOException {
if ((char)b != '\n')
{
string.append((char) b );
}
}
public String toString(){
return string.toString();
}
};
Writer writer = new OutputStreamWriter(output, "UTF-8");
generator.stream(writer);
writer.close();
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
ps.println(string.toString());
第一个代码的问题在于它不能保证输出在一行中。另一方面,我的新代码解决了这个问题,但是,出现了一个新问题:输出发送的是 'ᅢチ' 而不是 'Á',这很痛苦,因为应该支持匈牙利和波兰字符。对于非匈牙利语、非波兰语字符,我当前的输出是正确的,但是我的新代码无法处理书面匈牙利语和波兰语中的特殊字符。我该如何克服这个问题?
谢谢。