我能够使用以下代码将.xfdl文档转换为Java DOM文档。
我使用iHarder的
base64实用程序进行base64解码。
private static final String FILE_HEADER_BLOCK = "application/vnd.xfdl;content-encoding="base64-gzip""; public static document OpenXFDL(String inputFile) throws IOException, ParserConfigurationException, SAXException { try{ //create file object File f = new File(inputFile); if(!f.exists()) { throw new IOException("Specified File could not be found!"); } //open file stream from file FileInputStream fis = new FileInputStream(inputFile); //Skip past the MIME header fis.skip(FILE_HEADER_BLOCK.length()); //Decompress from base 64 base64.InputStream bis = new base64.InputStream(fis, base64.DECODE); //UnZIP the resulting stream GZIPInputStream gis = new GZIPInputStream(bis); documentBuilderFactory dbf = documentBuilderFactory.newInstance(); documentBuilder db = dbf.newdocumentBuilder(); document doc = db.parse(gis); gis.close(); bis.close(); fis.close(); return doc; } catch (ParserConfigurationException pce) { throw new ParserConfigurationException("Error parsing XFDL from file."); } catch (SAXException saxe) { throw new SAXException("Error parsing XFDL into XML document."); } }仍在成功修改和重新编码文档方面进行工作。
希望这可以帮助。



