java利用递归算法实现对文件夹的删除功能
前提:
集成开发环境(IDE):eclipse
jdk版本:8.0
File类的几个方法:
1)isFile()
测试此抽象路径名表示的文件是否为普通文件。
2)list()
返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
3)delete()
删除由此抽象路径名表示的文件或目录。
4)listFiles()
返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
File类的一个属性:
separator
与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。
代码:
import java.io.File; public class diGui_delete { public static void deleteAll(File file) { if(file.isFile()||file.list().length==0) { file.delete(); }else { File files[] = file.listFiles(); for(File f :files) { deleteAll(f); f.delete(); } } } public static void main(String[] args) { File f1 = new File("d:"+File.separator+"漫画图片"); deleteAll(f1); } }
总结
以上所述是小编给大家介绍的java利用递归算法实现对文件夹的删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
java删除指定目录下所有空文件夹的方法
本文实例讲述了java删除指定目录下所有空文件夹的方法.分享给大家供大家参考,具体如下: package com.func; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 删除指定目录下的所有空文件夹 * * @author zdw * */ public class FileUtils { List<File> list = new ArrayList<File>();
-
Java递归算法的使用分析
递归算法是一种直接或者间接地调用自身的算法.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 问题1:一列数的规则如下: 1.1.2.3.5.8.13.21.34 ,求第30位数是多少?使用递归实现 复制代码 代码如下: public class FibonacciSequence { public static void main(String[] args){ System.out.println(Fribonacci(9))
-
Java删除指定文件夹下的所有内容的方法(包括此文件夹)
如下所示: // 删除文件夹 private static void deleteDirectory(File file) { if (file.isFile()) {// 表示该文件不是文件夹 file.delete(); } else { // 首先得到当前的路径 String[] childFilePaths = file.list(); for (String childFilePath : childFilePaths) { File childFile = new File(file
-
全排列算法-递归与字典序的实现方法(Java)
全排列算法-递归与字典序的实现方法(Java) 全排列: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. 例如: 1 .2 .3三个元素的全排列为: {1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}. ------------------------------------------------------ 解法1(递归) 如下图:要对1.2.3.4进行
-
java 删除文件夹中的所有内容而不删除文件夹本身的实例
实例如下: package com.xx; import java.io.File; public class Test { public static void main(String[] args) { String fileRoot = "C:/Users/xx/Desktop/xx/xxx"; delFolder(fileRoot); System.out.println("deleted"); } // // 删除完文件后删除文件夹 // // param
-
java实现读取、删除文件夹下的文件
java实现读取.删除文件夹下的文件 package test.com; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; public class ReadFile { public ReadFile() { } /** * 读取某个文件夹下的所有文件 */ public static boolean readfile(String filepath) throws Fi
-
java删除文件和文件夹具体实现
1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)Java代码 复制代码 代码如下: // 验证字符串是否为正确路径名的正则表达式 private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*"; // 通过 sPath.matches(matches) 方法的返回值判断是否正确 // sPath 为路径字符串 2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件
-
Java使用递归解决算法问题的实例讲解
解释:程序调用自身的编程技巧叫做递归. 程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量.递归的能力在于用有限的语句来定义对象的无限集合. 递归的三个条件: 1.边界条件 2.递归前进段 3.递归返回段 当边界条件不满足时,
-
快速排序算法原理及java递归实现
快速排序 对冒泡排序的一种改进,若初始记录序列按关键字有序或基本有序,蜕化为冒泡排序.使用的是递归原理,在所有同数量级O(n longn) 的排序方法中,其平均性能最好.就平均时间而言,是目前被认为最好的一种内部排序方法 基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列. 三个指针: 第一个指针称为pivotkey指针(枢轴),第二个指
-
Java递归算法经典实例(经典兔子问题)
题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思指的是每个月的兔子总对数:假设将兔子分为小中大三种,兔子从出生后三个月后每个月就会生出一对兔子, 那么我们假定第一个月的兔子为小兔子,第二个月为中兔子,第三个月之后就为大兔子,那么第一个月分别有1.0.0,第二个月分别为0.1.0, 第三个月分别为1.0.1,第四个月分别为,1.1.1,第五个月分别为2.1.2,第六个月分别为3.2.3,第
-
Java算法之递归算法计算阶乘
本文为大家分享的java算法计算阶乘,在学习Java课程时经常会遇到求阶乘问题,今天接跟大家一起探讨一下 代码如下: package com.xu.main; import java.util.Scanner; public class P9 { static long fact(int n) { if(n <= 1) { return 1; } else { return n * fact(n - 1); } } public static void main(String[] args) {
随机推荐
- 获取ACCESS2000数据库中所有表的名称
- Vue2.0用 watch 观察 prop 变化(不触发)
- Dom 是什么的详细说明
- php将图片保存入mysql数据库失败的解决方法
- 如何使用Strace调试工具
- Python中使用OpenCV库来进行简单的气象学遥感影像计算
- 浅谈JavaWeb中的web.xml配置部署描述符文件
- JavaScript 10件让人费解的事情
- js原型链与继承解析(初体验)
- 进一步深入Ruby中的类与对象概念
- 微信小程序 密码输入(源码下载)
- Jquery中巧用Ajax的beforeSend方法
- 编辑IL文件 修改DLL文件的方法
- Python基于回溯法子集树模板解决m着色问题示例
- 2014值得推荐的10个移动 Web 应用程序开发框架
- Spring Boot集成Mybatis的实例代码(简洁版)
- Android Studio中统一管理版本号引用配置问题
- 写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
- Python 查看list中是否含有某元素的方法
- CentOS 7下mysql 5.7 安装教程