博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android--完成删除文件、文件夹操作
阅读量:6693 次
发布时间:2019-06-25

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

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/56021339
import java.io.File;/** * 删除文件和目录 * */public class DeleteFileUtil {    /**     * 删除文件,可以是文件或文件夹     *     * @param fileName     *            要删除的文件名     * @return 删除成功返回true,否则返回false     */    public static boolean delete(String fileName) {        File file = new File(fileName);        if (!file.exists()) {            System.out.println("删除文件失败:" + fileName + "不存在!");            return false;        } else {            if (file.isFile())                return deleteFile(fileName);            else                return deleteDirectory(fileName);        }    }    /**     * 删除单个文件     *     * @param fileName     *            要删除的文件的文件名     * @return 单个文件删除成功返回true,否则返回false     */    public static boolean deleteFile(String fileName) {        File file = new File(fileName);        // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除        if (file.exists() && file.isFile()) {            if (file.delete()) {                System.out.println("删除单个文件" + fileName + "成功!");                return true;            } else {                System.out.println("删除单个文件" + fileName + "失败!");                return false;            }        } else {            System.out.println("删除单个文件失败:" + fileName + "不存在!");            return false;        }    }    /**     * 删除目录及目录下的文件     *     * @param dir     *            要删除的目录的文件路径     * @return 目录删除成功返回true,否则返回false     */    public static boolean deleteDirectory(String dir) {        // 如果dir不以文件分隔符结尾,自动添加文件分隔符        if (!dir.endsWith(File.separator))            dir = dir + File.separator;        File dirFile = new File(dir);        // 如果dir对应的文件不存在,或者不是一个目录,则退出        if ((!dirFile.exists()) || (!dirFile.isDirectory())) {            System.out.println("删除目录失败:" + dir + "不存在!");            return false;        }        boolean flag = true;        // 删除文件夹中的所有文件包括子目录        File[] files = dirFile.listFiles();        for (int i = 0; i < files.length; i++) {            // 删除子文件            if (files[i].isFile()) {                flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath());                if (!flag)                    break;            }            // 删除子目录            else if (files[i].isDirectory()) {                flag = DeleteFileUtil.deleteDirectory(files[i]                        .getAbsolutePath());                if (!flag)                    break;            }        }        if (!flag) {            System.out.println("删除目录失败!");            return false;        }        // 删除当前目录        if (dirFile.delete()) {            System.out.println("删除目录" + dir + "成功!");            return true;        } else {            return false;        }    }
 

public static void main(String[] args) {//  // 删除单个文件//  String file = "c:/test/test.txt";//  DeleteFileUtil.deleteFile(file);//  System.out.println();        // 删除一个目录        String dir = "D:/home/web/upload/upload/files";        DeleteFileUtil.deleteDirectory(dir);//  System.out.println();//  // 删除文件//  dir = "c:/test/test0";//  DeleteFileUtil.delete(dir);    }
public class reName {	/**文件重命名 	    * @param path 文件目录 	    * @param oldname  原来的文件名 	    * @param newname 新文件名 	    */ 	    public void renameFile(String path,String oldname,String newname){ 	        if(!oldname.equals(newname)){//新的文件名和以前文件名不同时,才有必要进行重命名 	            File oldfile=new File(path+"/"+oldname); 	            File newfile=new File(path+"/"+newname); 	            if(!oldfile.exists()){	                return;//重命名文件不存在	            }	            if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名 	                System.out.println(newname+"已经存在!"); 	            else{ 	                oldfile.renameTo(newfile); 	            } 	        }else{	            System.out.println("新文件名和旧文件名相同...");	        }	    }}

你可能感兴趣的文章
spark源码分析之Checkpoint的过程
查看>>
openstack 与 ceph (架构)
查看>>
满满的技术干货!Spark顶级会议Apache Spark Summit精华讲义分享
查看>>
Android热修复技术——QQ空间补丁方案解析(2)
查看>>
云开雾散,带你看看大数据行业
查看>>
Random 随机数
查看>>
java join sleep wait notify notifyAll
查看>>
Linux: grep
查看>>
Android View架构总结
查看>>
filebeat多版本for Windows7
查看>>
ReachMax上云路:支撑日50亿PV请求和TB级数据运算的云端架构
查看>>
Upgrade json-serde-xxx jar in Apache Hive-1.2.1
查看>>
Dart入门—开发环境
查看>>
PHP>5.3版本部分新功能
查看>>
irrlicht引擎:实现天龙八部的RPG换装
查看>>
转 【转载】 SYN cookies 机制下连接的建立
查看>>
ExtJS 4.2 教程-02:bootstrap.js 工作方式
查看>>
利用jquery制作闪动标题
查看>>
SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式
查看>>
AWK文本处理工具(Linux)
查看>>