Java中File文件与Base64互转

package cn.gov.hbmsa.ydbg.api.rest;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.codec.binary.Base64;

import cn.gov.hbmsa.core.util.SerializeUtil;
public class BjNewsController {
    
    //文件转换为Base64
    public String EncodeBase64(String filePath){
        String base64 = null;
        InputStream in = null;
        try {
            in = new FileInputStream(filePath);
            byte[] bytes = toByteArray(in);
            base64 = Base64.encodeBase64String(bytes);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        //由于我前端需要接收的是Json,所以需要提前转一下格式
        base64 = SerializeUtil.Object2JSON(base64);
        return base64;
        
    }
    
    //Base64转换为文件
    public void DecodeBase64(String base64){
        FileOutputStream out = null;
         try {
            // 解码,然后将字节转换为文件
            byte[] buffer = Base64.decodeBase64(base64);
            out = new FileOutputStream("/opt/2.wps");
            out.write(buffer);  
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }finally {
            try {
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    public static byte[] toByteArray(InputStream in) throws IOException {
        ByteArrayOutputStream out=new ByteArrayOutputStream();
        byte[] buffer=new byte[1024*4];
        int n=0;
        while ( (n=in.read(buffer)) !=-1) {
            out.write(buffer,0,n);
        }
        return out.toByteArray();
    }
    
}

你可能感兴趣的:(java技术)