[java] view plain copy
- package cn.com;
-
- import <a href="http://lib.csdn.net/base/javase" class='replace_word' title="Java SE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
-
- import sun.misc.BASE64Decoder;
- import sun.misc.BASE64Encoder;
-
- public class Base64Test
- {
- public static void main(String[] args)
- {
- String strImg = GetImageStr();
- System.out.println(strImg);
- GenerateImage(strImg);
- }
-
- public static String GetImageStr()
- {
- String imgFile = "d://test.jpg";//待处理的图片
- InputStream in = null;
- byte[] data = null;
-
- try
- {
- in = new FileInputStream(imgFile);
- data = new byte[in.available()];
- in.read(data);
- in.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
-
- BASE64Encoder encoder = new BASE64Encoder();
- return encoder.encode(data);
- }
-
-
- public static boolean GenerateImage(String imgStr)
- {
- if (imgStr == null)
- return false;
- BASE64Decoder decoder = new BASE64Decoder();
- try
- {
-
- byte[] b = decoder.decodeBuffer(imgStr);
- for(int i=0;i<b.length;++i)
- {
- if(b[i]<0)
- {
- b[i]+=256;
- }
- }
-
- String imgFilePath = "d://222.jpg";//新生成的图片
- OutputStream out = new FileOutputStream(imgFilePath);
- out.write(b);
- out.flush();
- out.close();
- return true;
- }
- catch (Exception e)
- {
- return false;
- }
- }
- }