assets目录下资源拷贝到指定目录

来源:互联网 发布:研究生论文数据造假 编辑:程序博客网 时间:2024/06/05 20:21
/**   *  从assets目录中复制整个文件夹内容   *  @param  context  Context 使用CopyFiles类的Activity  *  @param  oldPath  String  原文件路径  如:/aa   *  @param  newPath  String  复制后路径  如:xx:/bb/cc   */   public void copyFilesFassets(Context context,String oldPath,String newPath) {                               try {          String fileNames[] = context.getAssets().list(oldPath);//获取assets目录下的所有文件及目录名          if (fileNames.length > 0) {//如果是目录              File file = new File(newPath);              file.mkdirs();//如果文件夹不存在,则递归              for (String fileName : fileNames) {                 copyFilesFassets(context,oldPath + "/" + fileName,newPath+"/"+fileName);              }          } else {//如果是文件              InputStream is = context.getAssets().open(oldPath);              FileOutputStream fos = new FileOutputStream(new File(newPath));              byte[] buffer = new byte[1024];              int byteCount=0;                             while((byteCount=is.read(buffer))!=-1) {//循环从输入流读取 buffer字节                          fos.write(buffer, 0, byteCount);//将读取的输入流写入到输出流              }              fos.flush();//刷新缓冲区              is.close();              fos.close();          }      } catch (Exception e) {          // TODO Auto-generated catch block          e.printStackTrace();          //如果捕捉到错误则通知UI线程                     MainActivity.handler.sendEmptyMessage(COPY_FALSE);      }                             }  

原创粉丝点击