用xml来存储图片

 
Java代码 复制代码  收藏代码
  1. //将jpg转码,并转成String    
  2. private String readImage() {      
  3.      BufferedInputStream bis = null;      
  4.      byte[] bytes = null;      
  5.      try {      
  6.          try {      
  7.              bis = new BufferedInputStream(new FileInputStream(ix));      
  8.              bytes = new byte[bis.available()];      
  9.             bis.read(bytes);      
  10.         } finally {      
  11.             if (bis != null) {      
  12.                 bis.close();      
  13.             }      
  14.      
  15.         }      
  16.      } catch (FileNotFoundException e) {      
  17.         e.printStackTrace();      
  18.      } catch (IOException e) {      
  19.         e.printStackTrace();      
  20.      }      
  21.     return new BASE64Encoder().encodeBuffer(bytes);      
  22.   }      
  23.   
  24.   //将图片转码后存在xml里面    
  25.   public void imageToXml() {      
  26.         String xml = "" + "<image>" + "<name>" + ix + "</name>" + "<content>"      
  27.                  + readImage() + "</content></image>";      
  28.          try {      
  29.              XMLHelper.write(XMLHelper.parseText(xml), ix + ".xml");      
  30.          } catch (DocumentException e) {      
  31.              e.printStackTrace();      
  32.          } catch (IOException e) {      
  33.              e.printStackTrace();      
  34.         }      
  35.   }      
  36.   
  37.   //从xml读取图片:    
  38.   public void xmlToImage(String rename) {      
  39.          Document d;      
  40.          String name = null;      
  41.          String content = null;      
  42.          try {      
  43.              d = XMLHelper.parse(ix);      
  44.              name = XMLHelper.getNodeValue(d, "/image/name");      
  45.              content = XMLHelper.getNodeValue(d, "/image/content");      
  46.              saveImage(rename.equals("") ? name : rename, content);      
  47.         } catch (DocumentException e) {      
  48.             e.printStackTrace();      
  49.         }      
  50.     }      
  51.      
  52.     public void xmlToImage() {      
  53.         xmlToImage("");      
  54.     }      
  55.      
  56.     private void saveImage(String filename, String content) {      
  57.         try {      
  58.             DataOutputStream dos = null;      
  59.             try {      
  60.                 byte[] bs = new BASE64Decoder().decodeBuffer(content);      
  61.                 dos = new DataOutputStream(new BufferedOutputStream(      
  62.                         new FileOutputStream(filename)));      
  63.                 dos.write(bs);      
  64.             } finally {      
  65.                 dos.close();      
  66.             }      
  67.         } catch (IOException e) {      
  68.             e.printStackTrace();      
  69.         }      
  70.     }     

你可能感兴趣的:(xml,String,dos,null,存储,byte)