把图片内容放入XML文件中.
- public static void main(String[] args) {
- BASE64Encoder encoder=new BASE64Encoder();
- try {
- File f=new File("1_mxz55.jpg");
- if(f.exists())
- {
- FileInputStream fis=new FileInputStream(f);
- byte[] buffer=new byte[(int)f.length()];
- fis.read(buffer);
- String s_imageData=encoder.encode(buffer);
- Document doc=DocumentHelper.createDocument();
- Element root=doc.addElement("ImageList");
- Element imageID=root.addElement("imageID");
- Element imageInfo=root.addElement("imageInfo");
- Element imageSize=root.addElement("imageSize");
- Element imageData=root.addElement("imageData");
- imageID.addText("01");
- imageInfo.addText("图片1");
- imageSize.addText(String.valueOf(f.length()));
- imageData.addText(s_imageData);
- XMLWriter writer=new XMLWriter(new FileOutputStream("image2XML.xml"));
- writer.write(doc);
- writer.flush();
- writer.close();
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
取出XML中图片数据
- File f=new File("image2XML.xml");
- SAXReader reader=new SAXReader();
- try {
- Document doc=reader.read(f);
- Element root=doc.getRootElement();
- Element image=(Element)root.selectSingleNode("imageData");
- String s_data=image.getText();
- BASE64Decoder decoder=new BASE64Decoder();
- byte[] data=decoder.decodeBuffer(s_data);
- FileOutputStream fos=new FileOutputStream("xxx.jpg");
- fos.write(data);
- fos.flush();
- fos.close();
- } catch (DocumentException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }