pq vc num faz um “buffer” do xml (StringBuffer). depois escreve no arquivo e grava na base usando stringbuffer.toString().getBytes(charset); ??
StringBuffer sb = new StringBuffer();
..
sb.append("x");
sb.append("y");
sb.append("z");
..
output.print(sb.toString());
..
PreparedStatement ps = ....
ps.setBytes(2, sb.toString().getBytes(encode))