文件转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字符串转文件

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

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!