今日、私は非常に興味深い問題に直面しました。xmlファイルを書き直そうとしたとき。
これを行うには3つの方法があります。そして、私は問題の最善の方法と理由を知りたいです。
私。
File file = new File(REAL_XML_PATH);
try {
FileWriter fileWriter = new FileWriter(file);
XMLOutputter xmlOutput = new XMLOutputter();
xmlOutput.output(document, System.out);
xmlOutput.output(document, fileWriter);
fileWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
この場合、アプリに大きな問題があります。自分の言語でファイルを書き込んだ後、何も読めなくなりました。エンコーディングファイルがANSIで変更されましたjavax.servlet.ServletException: javax.servlet.jsp.JspException: Invalid argument looking up property: "document.rootElement.children[0].children"
II。
File file = new File(REAL_XML_PATH);
XMLOutputter output=new XMLOutputter();
try {
output.output(document, new FileOutputStream(file));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
この場合、問題はありません。エンコーディングは変更されていません。読み書きに問題はありません。
そしてこの記事http://tripoverit.blogspot.com/2007/04/javas-utf-8-and-unicode-writing-is.html
そして、私は問題の最善の方法と理由を知りたいです。