Base64编码实现一---使用sun.misc.BASE64Encoder实现Base64
2017-11-03 15:42
465 查看
使用sun.misc.BASE64Encoder实现
4000
Base64
4000
Base64
package com.zero.io.base64; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /** * 使用sun.misc.BASE64Encoder实现Base64 * */ public class BASE64EncoderTest { public static void main(String[] args) throws Exception { encode("src/pexels_photo.jpeg");//11M byte [] b = decode(encode("src/pexels_photo.jpeg")); createBase64File("D://sun_misc_base64.jpeg",b); } /** * 将文本转为字符串 * @param filePath 文件的路径 * @return String * @throws Exception */ private static String encode(String filePath) { BufferedInputStream inputStream = null; byte [] b = null; try { inputStream = new BufferedInputStream(new FileInputStream(filePath)); b = new byte [inputStream.available()]; inputStream.read(b); inputStream.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (null != inputStream){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return new BASE64Encoder().encode(b); } /** * 将字符串转为byte[]数组 * @param fileString 文件使用encode方法转成的字符串数据 * @return byte [] * @throws Exception */ private static byte [] decode(String fileString) { byte [] b = null; try { b = new BASE64Decoder().decodeBuffer(fileString); } catch (IOException e) { e.printStackTrace(); } return b; } /** * 生成文件 * @param filepath 文件路径 * @param b * @return */ public static boolean createBase64File(String filepath,byte [] b){ BufferedOutputStream bufferedOutputStream = null; File file = null; try { file = new File(filepath); if (file.exists() && file.isFile()) { file.delete(); } bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file)); bufferedOutputStream.write(b); bufferedOutputStream.flush(); } catch (Exception e) { e.printStackTrace(); return false; } finally { if (null != bufferedOutputStream) { try { bufferedOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return true; } }
相关文章推荐
- Base64编码实现二---使用org.apache.tomcat.util.codec.binary.Base64实现Base64
- Base64编码实现三---使用com.sun.org.apache.xerces.internal.impl.dv.util.Base64实现Base64
- java实现图片与base64字符串之间的转换(不适用SUN公司的sun.misc.BASE64Encoder)
- 使用混合脚本编程来实现的Base64编码
- Base-64编码及Perl实现
- 为什么要使用Base64及其编码原理和实现
- 使用Apache的Base64类实现Base64加解密
- 不要使用sun.misc.BASE64Encoder
- JS使用base64编码实现小文件上传PHP接收后转换
- sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案
- Base64上传图片时 sun.misc.BASE64Encoder找不到jar包的解决方法
- 二者都是将 byte[] 转换成字符串,一个区别在于 Convert.ToBase64String 使用 base 64 数字编码,所以它生成的全部是 ASCII 字符。
- 前端图片在线转换Base64 图片编码Base64
- 在java开发中遇到sun.misc.BASE64Encoder找不到jar包的解决方法
- 不要使用sun.misc.BASE64Encoder
- sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案
- Android中使用sun.misc.BASE64Encoder 遇到的问题
- 使用sun.misc.Cleaner或者PhantomReference实现堆外内存的自动释放
- sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案
- Android中使用sun.misc.BASE64Encoder 遇到的问题