Base64 工具类

</pre><pre name="code" class="java">package com.thunisoft.sffx.sy.gssjccapture.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.commons.codec.Charsets;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
* @ClassName: Base64Util
* @Description: BASE64工具类
* @author: chendj
* @date: 2015-7-15
*
*/
public class Base64Util {
    /**
     * 日志
     */
    private static Log  logger = LogFactory.getLog(Base64Util.class);
    /**
     * 将文件转成base64 字符串
     * @param file 文件
     * @return encodedFileString
     * @throws Exception
     */

    public static String getFileByteString(File file) throws Exception {
         FileInputStream inputFile = new FileInputStream(file);
         // 取得文件大小
         long length = file.length();
         // 根据大小创建字节数组
         byte[] buffer = new byte[(int) length];
         
         inputFile.read(buffer);
         inputFile.close();
         //base64转码 new String((new Base64()).encode(buffer))
         String encodedFileString = Base64.encodeBase64String(buffer);
         return encodedFileString;
    }
    /**
     * 将base64字符解码保存文件
     * @param base64Code  解码
     * @param targetPath 要存的地址
     * @return
     */

    public static String decoderBase64File(String base64Code, String targetPath) {
        File file = new File(targetPath);
        try {
            if (file.exists()) {
                logger.error(targetPath + " 文件已经存在,不能转换为文件");
                return null;
            } else {
                boolean createNewFile = file.createNewFile();
                if (createNewFile) {
                    logger.info("文件创建成功!");
                } else {
                    logger.info("文件创建遇到问题。");
                }
            }
            byte[] buffer = new Base64().decode(base64Code);
            FileOutputStream out = new FileOutputStream(targetPath);
            out.write(buffer);
            out.close();
            logger.info("文件保存成功!");
        } catch (Exception e) {
            logger.error("文件base64编码转换失败!",e);
            targetPath = "";
        }

        return targetPath;
    }
    /**
     * 将字符串转换成Base64编码
     * @param tagertStr 要转换的字符串
     * @return
     */
    public static String convert(String tagertStr) {
        byte[] value;
        try {
            value = tagertStr.getBytes(Charsets.UTF_8);
            return new String(Base64.encodeBase64(value),Charsets.UTF_8);
        } catch (Exception e) {
            logger.error("字符串base64编码转换失败!" + e);
        }
        return null;
    }

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值