file文件与base64字符串的相互转换

file文件与base64字符串的相互转换

直接上代码

/**
 * 文件转base64字符串
 * @param file
 * @return
 */
public static String fileToBase64(File file) {
    String base64 = null;
    InputStream in = null;
    try {
        in = new FileInputStream(file);
        byte[] bytes = new byte[in.available()];
        int length = in.read(bytes);
        base64 = Base64.encodeToString(bytes, 0, length, Base64.DEFAULT);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        try {
            if (in != null) {
                in.close();
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    return base64;
}
/**
 * base64字符串转文件
 * @param base64
 * @return
 */
public static File base64ToFile(String base64) {
    File file = null;
    String fileName = "/Petssions/record/testFile.amr";
    FileOutputStream out = null;
    try {
        // 解码,然后将字节转换为文件
        file = new File(Environment.getExternalStorageDirectory(), fileName);
        if (!file.exists())
            file.createNewFile();
        byte[] bytes = Base64.decode(base64, Base64.DEFAULT);// 将字符串转换为byte数组
        ByteArrayInputStream in = new ByteArrayInputStream(bytes);
        byte[] buffer = new byte[1024];
        out = new FileOutputStream(file);
        int bytesum = 0;
        int byteread = 0;
        while ((byteread = in.read(buffer)) != -1) {
            bytesum += byteread;
            out.write(buffer, 0, byteread); // 文件写操作
        }
    } catch (IOException ioe) {
        ioe.printStackTrace();
    } finally {
        try {
            if (out!= null) {
                out.close();
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    return file;
}


未经允许请勿转载:程序喵 » file文件与base64字符串的相互转换

点  赞 (1) 打  赏
分享到: