java实现image和base64互转
2015-05-25 10:40
218 查看
java安装的目录下的jre/lib/rt.jar中有以下两个类实现base64的编码和解码:
sun.misc.BASE64Encoder
sun.misc.BASE64Decoder
下面是java实现:
public class Imagebase64 {
static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
public static void main(String[] args) {
System.out.println(getImageBinary()); // image to base64
base64StringToImage(getImageBinary()); // base64 to image
}
static String getImageBinary() {
File f = new File("d://in.jpg");
try {
BufferedImage bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "jpg", baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
static void base64StringToImage(String base64String) {
try {
byte[] bytes1 = decoder.decodeBuffer(base64String);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
BufferedImage bi1 = ImageIO.read(bais);
File f1 = new File("d://out.jpg");
ImageIO.write(bi1, "jpg", f1);
} catch (IOException e) {
e.printStackTrace();
}
}
}
sun.misc.BASE64Encoder
sun.misc.BASE64Decoder
下面是java实现:
public class Imagebase64 {
static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
public static void main(String[] args) {
System.out.println(getImageBinary()); // image to base64
base64StringToImage(getImageBinary()); // base64 to image
}
static String getImageBinary() {
File f = new File("d://in.jpg");
try {
BufferedImage bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "jpg", baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
static void base64StringToImage(String base64String) {
try {
byte[] bytes1 = decoder.decodeBuffer(base64String);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
BufferedImage bi1 = ImageIO.read(bais);
File f1 = new File("d://out.jpg");
ImageIO.write(bi1, "jpg", f1);
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- base64 的其他实现。(java)
- Base64编码的Java语言实现(转)
- 利用Java实现对文件的简易Base64编码
- Base64编码的Java语言实现
- base64的java实现方法
- Base64编码java实现
- base64 编解码的 Java 实现
- base64 编解码的 Java 实现
- Base64的java实现
- Base64编码与解码的java实现
- base64的java实现方法
- NTLM认证的proxy客户端的Java实现-Base64.java
- java实现图片与base64字符串之间的转换
- Java实现的Base64、MD5、3DES工具
- Java实现的Base64、MD5、3DES工具
- Java实现的Base64、MD5、3DES工具
- Base64编码介绍及基于Java语言实现
- Base64编码介绍及基于Java语言实现
- MapXtreme java MapXtremeImageRenderer渲染器的实现
- Java实现MD5, SHA-1, BASE64, 3DES加解密方法