美文网首页
java之文件与base64字符之间的相互转换

java之文件与base64字符之间的相互转换

作者: 秋天de童话 | 来源:发表于2018-08-25 16:36 被阅读46次
    package tiany.demo;
    
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.FileOutputStream;  
      
    import sun.misc.BASE64Decoder;  
    import sun.misc.BASE64Encoder;  
      
    public class FileUitl {  
      
     /** 
      * 将文件转成base64 字符串 
      * @param path文件路径 
      * @return  *  
      * @throws Exception 
      */  
      
     public static String 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 BASE64Encoder().encode(buffer);  
      
     }  
      
     /** 
      * 将base64字符解码保存文件 
      * @param base64Code 
      * @param targetPath 
      * @throws Exception 
      */  
      
     public static void decoderBase64File(String base64Code, String targetPath)  
       throws Exception {  
      byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);  
      FileOutputStream out = new FileOutputStream(targetPath);  
      out.write(buffer);  
      out.close();  
      
     }  
      
     /** 
      * 将base64字符保存文本文件 
      * @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 = encodeBase64File("d:/2.png");  
       System.out.println(base64Code);  
       decoderBase64File(base64Code, "d:/22.png");  
       toFile(base64Code, "D:\\333.txt");  
      } catch (Exception e) {  
       e.printStackTrace();  
      
      }  
      
     }  
      
    }  
    

    参考
    http://blog.csdn.net/hongwangzhang/article/details/50215589

    相关文章

      网友评论

          本文标题:java之文件与base64字符之间的相互转换

          本文链接:https://www.haomeiwen.com/subject/kpxauxtx.html