博客
关于我
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/

你可能感兴趣的文章
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
mt-datetime-picker type="date" 时间格式 bug
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>