Base64 工具类

Posted Django_1987

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    




以上是关于Base64 工具类的主要内容,如果未能解决你的问题,请参考以下文章

java工具类 文件zip压缩 base64 加密,base64解密 zip解压

Base64Util工具类

java Base64编码工具类

java Base64编码工具类

Base64 工具类

关于图片与base64相互转换的工具类