博客
关于我
Android 手机sdcard目录或文件的拷贝、移动、删除(递归)
阅读量:219 次
发布时间:2019-02-28

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

搞安卓开发一年多了,这是第一次写博客,以后会慢慢把以前的东西整理出来,给自己一个记录,也与广大网友一起分享和进步。写的一个关于文件操作的静态工具类,实现手机SD卡目录或文件的拷贝、移动、删除(递归)
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;/** *  * @ClassName:  FileOperator    * @Description:  文件操作类,删除文件或文件目录 * @author: SAU_LC66 * @date:   2014-09-25 19:01   */public class FileOperator {	/**	 * 复制文件目录	 * @param srcDir 要复制的源目录 eg:/mnt/sdcard/DB	 * @param destDir 复制到的目标目录 eg:/mnt/sdcard/db/	 * @return 	 */	public static boolean copyDir(String srcDir, String destDir){        File sourceDir = new File(srcDir);        //判断文件目录是否存在        if(!sourceDir.exists()){            return false;        }        //判断是否是目录        if (sourceDir.isDirectory()) {            File[] fileList = sourceDir.listFiles();            File targetDir = new File(destDir);            //创建目标目录            if(!targetDir.exists()){                targetDir.mkdirs();            }            //遍历要复制该目录下的全部文件            for(int i= 0;i
0){ streamTo.write(buffer, 0, len); } streamFrom.close(); streamTo.close(); return true; } catch(Exception ex){ return false; } } /** * 把文件拷贝到某一目录下 * @param srcFile * @param destDir * @return */ public static boolean copyFileToDir(String srcFile, String destDir){ File fileDir = new File(destDir); if (!fileDir.exists()) { fileDir.mkdir(); } String destFile = destDir +"/" + new File(srcFile).getName(); try{ InputStream streamFrom = new FileInputStream(srcFile); OutputStream streamTo = new FileOutputStream(destFile); byte buffer[]=new byte[1024]; int len; while ((len= streamFrom.read(buffer)) > 0){ streamTo.write(buffer, 0, len); } streamFrom.close(); streamTo.close(); return true; } catch(Exception ex){ return false; } } /** * 移动文件目录到某一路径下 * @param srcFile * @param destDir * @return */ public static boolean moveFile(String srcFile, String destDir) { //复制后删除原目录 if (copyDir(srcFile, destDir)) { deleteFile(new File(srcFile)); return true; } return false; } /** * 删除文件(包括目录) * @param delFile */ public static void deleteFile(File delFile) { //如果是目录递归删除 if (delFile.isDirectory()) { File[] files = delFile.listFiles(); for (File file : files) { deleteFile(file); } }else{ delFile.delete(); } //如果不执行下面这句,目录下所有文件都删除了,但是还剩下子目录空文件夹 delFile.delete(); } }

最后注意在AndroidManifest.xml中注册权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

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

你可能感兴趣的文章
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>