Base64字符串与文字互转

  • A+
所属分类:Java
import java.io.File;                                                                                                                            
import java.io.FileInputStream;                                                                                                                 
import java.io.FileOutputStream;                                                                                                                
 
import org.apache.commons.codec.binary.Base64;
                                                                                               
public class File2Code {                                                                                                                        
                                                                                                                                                 
    /**                                                                                                                                         
     * <p>将文件转成base64 字符串</p>                                                                                                           
     * @param path 文件路径                                                                                                                     
     * @return                                                                                                                                  
     * @throws Exception                                                                                                                        
     */                                                                                                                                         
    public static byte[] encodeBase64File(String path) throws Exception {                                                                       
        File  file = new File(path);                                                                                                            
        FileInputStream inputFile = new FileInputStream(file);                                                                                  
        byte[] buffer = new byte[(int)file.length()];                                                                                           
        inputFile.read(buffer);                                                                                                                 
        inputFile.close();                                                                                                                      
        return new Base64().encode(buffer);                                                                                              
    }                                                                                                                                           
    /**                                                                                                                                         
     * <p>将base64字符解码保存文件</p>                                                                                                          
     * @param base64Code                                                                                                                        
     * @param targetPath                                                                                                                        
     * @throws Exception                                                                                                                        
     */                                                                                                                                         
    public static void decoderBase64File(String base64Code,String targetPath) throws Exception {                                                
        byte[] buffer = new Base64().decodeBase64(base64Code);                                                                           
        FileOutputStream out = new FileOutputStream(targetPath);                                                                                
        out.write(buffer);                                                                                                                      
        out.close();                                                                                                                            
    }                                                                                                                                           
    /**                                                                                                                                         
     * <p>将base64字符保存文本文件</p>                                                                                                          
     * @param base64Code                                                                                                                        
     * @param targetPath                                                                                                                        
     * @throws Exception                                                                                                                        
     */                                                                                                                                         
    public static void toFile(String base64Code,String targetPath) throws Exception {                                                           
        byte[] buffer = base64Code.getBytes();                                                                                                  
        FileOutputStream out = new FileOutputStream(targetPath);                                                                                
        out.write(buffer);                                                                                                                      
        out.close();                                                                                                                            
    }                                                                                                                                           
    public static void main(String[] args) {                                                                                                    
        try {     
 /**
            String base64Code =new String(encodeBase64File("D:\\test1.txt"));                                                                                   
            System.out.println(base64Code);                                                                                                     
            decoderBase64File(base64Code, "D:\\2.txt");                                                                                         
            toFile(base64Code, "D:\\3.txt"); 
 **/ 
            String base64Code =new String(encodeBase64File("D:\\test1.zip"));                                                                                   
            System.out.println(base64Code);                                                                                                     
            decoderBase64File(base64Code, "D:\\2.zip");                                                                                         
            toFile(base64Code, "D:\\3.txt");     
                                                                                                          
        } catch (Exception e) {                                                                                                                 
            e.printStackTrace();                                                                                                                
        }                                                                                                                                       
    }                                                                                                                                           
                                                                                                                                                 
}

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: