打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
java把图片转换成base64传入XML文件
java把图片转换成base64传入XML文件(2010-03-08 12:36:46)
工作需要自己写的程序,必须导入两个包,点击可以下载

dom4j-1.6.1.jar  jaxen-1.1-beta-7.jar

文件路径我用了绝对路径,因为我用相对路径的时候找不到文件,这个有待修改.

不太懂dom4j的我,写这个程序用了蛮多时间查资料的.因为JDK的API里面没有这个包

只是 SUN公司内部用的...

-----------------------------------------------------------------

图片转XML

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.dom4j.*;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import java.io.*;
import sun.misc.BASE64Encoder;


public class InputToXML {

 public static void main(String[] args) {
 
         BASE64Encoder encoder = new BASE64Encoder();
         try {
             File f=new File("D:\\myeclipse\\workspace\\InputToXML.java\\bin\\1.jpg");
            
             //System.out.println("5555");
             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("789456123.xml"));
                 writer.write(doc);
                 System.out.println("22");
                 writer.flush();
                 writer.close();
             }
             else {
              System.out.println("找不到要转换的图片文件!");
             }
             
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         }
     }

 }

------------------------------------------------------------------------------------------------------

XML还原图片

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import sun.misc.BASE64Decoder;

public class Out{
 public static void main(String[] args) {
   File f=new File("D:\\myeclipse\\workspace\\InputToXML.java\\789456123.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("222.jpg");
               fos.write(data);
               fos.flush();
               fos.close();
           } catch (DocumentException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           } catch (IOException e) {
               e.printStackTrace();
           }

  }
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
java调用main自动执行testng方法一
在java中使用dom4j解析xml
Java操作XML文件 dom4j 篇
DOM4j使用教程
dom4j生成xml实例
dom4j的一般应用 - bicashy - JavaEye技术网站
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服