我正在從ftp下載文件,並將其保存到本地文件系統,然後使用createXMLStreamReader
讀取它。當我嘗試解析它時,出現此錯誤:javax.xml.stream.XMLStreamException: ParseError at [row,col]:[124,316]
。當我手動複製並粘貼到另一個文件時,一切正常。我試圖使用this複製文件,文件被複制,但我仍然收到相同的錯誤。我意識到這是由於<xml
節點之前的二進制字符引起的,但我不確定如何擺脫它們。XMLStreamException嘗試解析從ftp下載的xml文件
我有過什麼被從FTP複製無法控制,我使用java 1.7
我的代碼檢索文件:
client.connect("ftp.domain.com");
client.login("user", "password");
String filename = assetsPath + "/ftpExport.xml";
fos = new FileOutputStream(filename);
client.retrieveFile("/Export.xml", fos);
我的代碼來創建StreamReader的:
inputFactory = XMLInputFactory.newInstance();
File f = new File(Parser.class.getProtectionDomain().getCodeSource().getLocation().getPath());
assetsPath = f.toString()+"/../assets";
xmlReader = inputFactory.createXMLStreamReader(
new FileReader(assetsPath + "/Export.xml"));
請勿使用FileReader讀取xml,否則可能會損壞該文件。使用FileInputStream。 – jtahlborn 2012-07-12 19:12:23
SWAHEEET,使它工作。你可以把你的評論作爲答案,我會接受它 – locrizak 2012-07-12 19:15:22
肯定的事情,完成。 – jtahlborn 2012-07-12 19:16:44