Android实现文件的复制
16lz
2021-01-26
Android中关于文件的复制问题,这里我通过从assets文件夹中复制文件到t卡中的实例来简单阐述下。代码如下:
/** * t卡文件路径 */public static final String fileDir = Environment.getExternalStorageDirectory()+ "/google/data/sys/" ;/**复制assets中文件filename到t卡"/google/data/sys/ * @param cts 上下文 * @param filename 要复制的文件 * @return */public static boolean copyFassetsToSd(Context cts, String filename){ MyDebug.println("copy开始"); File flFile = new File(fileDir); if (!flFile.exists()) { //mkdirs(),创建文件目录,包括缺失的父目录,mkdir()只创建没有缺失父目录的目录; //如创建"/app/small/",如果本身app文件夹不存在,就用mkdirs(),如果本身就存在,就可以用mkdir(); flFile.mkdirs(); MyDebug.println("文件不存在,重新创建"); } MyDebug.println("创建成功了吗? " + flFile.exists()); boolean isCopysucss = false; try { InputStream is = cts.getAssets().open(filename);//从assets文件夹中复制文件 File file = new File(fileDir + filename); //file.getParentFile(),获取文件的路径,不包括后面的文件filename FileOutputStream fos = new FileOutputStream(file); byte[] buffer = new byte[1024]; int byteCount = 0 ; //is.read(buffer)代表实际读取到的字符的个数,实现读取内容到字节数组中 while ((byteCount = is.read(buffer)) != -1) { fos.write(buffer, 0, byteCount); } fos.flush(); fos.close(); is.close(); isCopysucss = true; MyDebug.println("成功复制assets中 "+ filename +"到t卡 " + fileDir) ; } catch (IOException e) { // TODO Auto-generated catch block isCopysucss = false; e.printStackTrace(); MyDebug.println("异常: " + e.toString()); } return isCopysucss; }
mkdirs(),创建文件目录,包括缺失的父目录;
mkdir(),只创建没有缺失父目录的目录;
如创建”/app/small/”,如果本身app文件夹不存在,就用mkdirs(),如果本身就存在,就可以用mkdir();
is.read(buffer)代表实际读取到的字符的个数,实现读取内容到字节数组中;
file.getParentFile(),获取文件的路径,不包括后面的文件filename;
File file = new File(fileDir + filename);if(!file.exists()){ file.getParentFile().mkdirs();//创建文件目录 file.createNewFile();//创建文件filename,只创建文件,不创建文件夹}
更多相关文章
- Android(安卓)使用obb扩展App
- Android23_网络存储之HttpClient
- Android图片路径与Uri相互转化
- Android(安卓)打包, 不同渠道使用 不同的资源文件
- Android中字符设备驱动和应用实例(一)——驱动部分
- 新博andorid 初中级考试评测以及答案-------小林老师出的试卷
- Android文件、内存、SDCard管理常用工具类、方法
- android APK签名过程之MANIFEST.MF分析
- Android(安卓)App的签名打包(晋级篇)