定义一个Util
public class Base64Utils {
/**
* encode
*/
public static String encodeBase64(String s){
Object retObj= null;
try {
byte[] input = s.getBytes();
Class clazz=Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
Method mainMethod= clazz.getMethod("encode", byte[].class);
mainMethod.setAccessible(true);
retObj = mainMethod.invoke(null, new Object[]{input});
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return (String)retObj;
}
/***
* decode
*/
public static String decodeBase64(String input) {
Object retObj= null;
try {
Class clazz=Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
Method mainMethod= clazz.getMethod("decode", String.class);
mainMethod.setAccessible(true);
retObj = mainMethod.invoke(null, input);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return new String((byte[])retObj);
}
}
直接调用Util
public static void main(String[] args) {
String s = Base64Utils.encodeBase64("D:\\1.png");
System.out.println(s);
String s1 = Base64Utils.decodeBase64(s);
System.out.println(s1);
}