Android资料 资料库 ·

Android文件和base64互转

在项目中需要用到文件传输入,有时需要将文件转成base64字串,再将base64字串转成字节流保存在文件了。

/**
* 将文件转成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();
}