package com.basic.project.idcardservice.idcard; import android.content.Context; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; /** * Created by Administrator on 2017/12/8. */ public class FileStorageHelper { private static final String SEPARATOR = File.separator;//路径分隔符 public static void copyFilesFromRaw(Context context, int id, String fileName, String storagePath) { InputStream inputStream = context.getResources().openRawResource(id); File file = new File(storagePath); if (!file.exists()) {//如果文件夹不存在,则创建新的文件夹 file.mkdirs(); } readInputStream(storagePath + SEPARATOR + fileName, inputStream); } /** * 读取输入流中的数据写入输出流 * * @param storagePath 目标文件路径 * @param inputStream 输入流 */ public static void readInputStream(String storagePath, InputStream inputStream) { File file = new File(storagePath); try { if (!file.exists()) { // 1.建立通道对象 FileOutputStream fos = new FileOutputStream(file); // 2.定义存储空间 byte[] buffer = new byte[inputStream.available()]; // 3.开始读文件 int lenght = 0; while ((lenght = inputStream.read(buffer)) != -1) {// 循环从输入流读取buffer字节 // 将Buffer中的数据写到outputStream对象中 fos.write(buffer, 0, lenght); } fos.flush();// 刷新缓冲区 // 4.关闭流 fos.close(); inputStream.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }