1

ftpからファイルをダウンロードし、ローカルファイルシステムに保存してから、で読み取りますcreateXMLStreamReader。解析しようとすると、次のエラーが発生しますjavax.xml.stream.XMLStreamException: ParseError at [row,col]:[124,316]。手動でコピーして別のファイルに貼り付けると、すべて正常に機能します。これを使用してファイルをコピーしようとしましたが、ファイルはコピーされますが、それでも同じエラーが発生します。これはノードの前の2進文字が原因であるとは<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"));
4

1 に答える 1

3

xmlを読み取るためにFileReaderを使用しないでください。これにより、xmlが破損する可能性があります。FileInputStreamを使用します。

于 2012-07-12T19:16:32.233 に答える