博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
file文件与base64字符串的相互转换
阅读量:6430 次
发布时间:2019-06-23

本文共 2172 字,大约阅读时间需要 7 分钟。

今天心情不好,不想说话。

/**     * 文件转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;    }

 

转载地址:http://frnga.baihongyu.com/

你可能感兴趣的文章
数据库性能优化之冗余字段的作用
查看>>
DBA_实践指南系列9_Oracle Erp R12应用补丁AutoPatch/AutoControl/AutoConfig(案例)
查看>>
数据库设计三大范式
查看>>
ionic 字体的导入方法
查看>>
内部类详解
查看>>
类加载机制
查看>>
mongodb int型id 自增
查看>>
Java中的4种代码块
查看>>
Ocelot(七)- 入门
查看>>
生成水杯热气
查看>>
程序员工作心法
查看>>
三个常用的PHP图表类库
查看>>
高中数学与初中数学的接轨点
查看>>
Spring Data Redis—Pub/Sub(附Web项目源码)
查看>>
Linkedin工程师是如何优化他们的Java代码的(转)
查看>>
winfrom 如何保存datagridview中的某一行数据
查看>>
面向领域驱动的应用开发框架Apworks 2.0发布
查看>>
开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)
查看>>
ref和out
查看>>
黑客教父详解账号泄露全过程:1亿用户已泄露
查看>>