public boolean saveDocument() {
try {
// FileOutputStream outStream = new FileOutputStream(_fileName);
// OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
// ( (XmlDocument) this.document).write(outWriter, "GB2312");
OutputFormat format = new OutputFormat(this.document);
format.setEncoding("gb2312");
StringWriter strInvoice = new StringWriter();
XMLSerializer serial = new XMLSerializer(strInvoice, format);
serial.asDOMSerializer();
serial.serialize((Element) this.document.getDocumentElement());
save(_fileName,strInvoice.toString());
} catch (Exception e) {
e.printStackTrace();
}
return true;
} private boolean save(String filename, String strInvoice) {
PrintStream out = null;
try {
out = new PrintStream(new BufferedOutputStream(
new FileOutputStream(filename)));
writeInvoice(out, strInvoice);
} catch (IOException e) {
out.close();
e.printStackTrace();
return false;
}
out.close();
return true;
} private void writeInvoice(PrintStream out, String line) {
try {
byte[] b = (line).getBytes("ISO8859-1");
out.write(b);
} catch (Exception e) {
e.printStackTrace();
}
}
怎么就不行呢
try {
// FileOutputStream outStream = new FileOutputStream(_fileName);
// OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
// ( (XmlDocument) this.document).write(outWriter, "GB2312");
OutputFormat format = new OutputFormat(this.document);
format.setEncoding("gb2312");
StringWriter strInvoice = new StringWriter();
XMLSerializer serial = new XMLSerializer(strInvoice, format);
serial.asDOMSerializer();
serial.serialize((Element) this.document.getDocumentElement());
save(_fileName,strInvoice.toString());
} catch (Exception e) {
e.printStackTrace();
}
return true;
} private boolean save(String filename, String strInvoice) {
PrintStream out = null;
try {
out = new PrintStream(new BufferedOutputStream(
new FileOutputStream(filename)));
writeInvoice(out, strInvoice);
} catch (IOException e) {
out.close();
e.printStackTrace();
return false;
}
out.close();
return true;
} private void writeInvoice(PrintStream out, String line) {
try {
byte[] b = (line).getBytes("ISO8859-1");
out.write(b);
} catch (Exception e) {
e.printStackTrace();
}
}
怎么就不行呢
Writer out = null;
try {
out = new OutputStreamWriter(new FileOutputStream(filename),"GB2312");
out.write(strInvoice);
} catch (IOException e) {
out.close();
e.printStackTrace();
return false;
}
out.close();
return true;
}