1.使用递归删除某一目录下的全部文件
package com.lfl.file; import java.io.File; public class DeleteAllFileTest { 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(); } file.delete(); } } public static void main(String[] args) { File file = new File("G:\\myfirstsite222"); deleteAll(file); } }
2.使用递归遍历某一目录下的所有文件,并以树形结构显示
package com.lfl.file; import java.io.File; import java.util.ArrayList; import java.util.List; public class ListAllFileTest { private static int level; public static void deepList(File file) { if (file.isFile() || file.list().length == 0) { return; } else { File[] files = file.listFiles(); files = sort(files); for (File f : files) { StringBuilder output = new StringBuilder(); if (f.isFile()) { output.append(getLevel(level)); output.append(f.getName()); } else { output.append(getLevel(level)); output.append(f.getName()); output.append("\\"); } System.out.println(output.toString()); if (f.isDirectory()) { level ++; deepList(f); level --; } } } } public static File[] sort(File[] files) { List<File> list = new ArrayList<File>(); List<File> fileList = new ArrayList<File>(); for (File f : files) { if (f.isDirectory()) list.add(f); else fileList.add(f); } list.addAll(fileList); return list.toArray(new File[files.length]); } public static String getLevel(int level) { StringBuilder sb = new StringBuilder(); for (int i=0; i < level; i++) { sb.append("\t"); } return sb.toString(); } public static void main(String[] args) { File file = new File("G:/222"); deepList(file); } }
相关推荐
初学者资料,使用栈和递归实现遍历电脑磁盘文件,通过本资料,可以非常方便的学习与对比两种实现方法的不同。 两个例子,全部使用的是异步执行方法,并且有当前遍历的进度显示。
包含两个掩码,并且所有文件既匹配第一个掩码,也匹配第二个掩码, 较小的子集 或者更精确的匹配拥有更高的优先权。例如,如果你用 *.cpp 和 f*.cpp 掩码, f*.cpp 拥有更高的优先权。 RAR 命令行语法 ~~~~~~...
包含两个掩码,并且所有文件既匹配第一个掩码,也匹配第二个掩码, 较小的子集 或者更精确的匹配拥有更高的优先权。例如,如果你用 *.cpp 和 f*.cpp 掩码, f*.cpp 拥有更高的优先权。 RAR 命令行语法 ~~~~~~...
showChangesToReapply:在两个“较新”和“较旧”的目录之间执行差异。 reapplyChanges:应用更改以使另一个目录处于相同状态 例子: // require the fsops module var fsops = require ( "fsops" ) ; // copy a ...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
本文主要通过两个简单的小例子,简述Python在文件夹及文件的应用,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 os模块:os 模块提供了非常丰富的方法用来处理文件和目录。 open方法:open方法用于打开一...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用...
Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
每个[list]元素带两个参数的for循环 10-3. 文件信息:对包含在变量中的文件列表进行操作 10-4. 在for循环中操作文件 10-5. 在for循环中省略[list] 10-6. 使用命令替换来产生for循环的[list] 10-7. 对于二进制文件的...
6.2变量的两个特色 6.3变量高级引用技术 6.3.1替换引用 6.3.2嵌套变量引用 6.4变量取值 6.5设置变量 6.6为变量值追加文本 6.7override指令 6.8定义多行变量 6.9环境变量 6.10特定目标变量的值 6.11特定...
每个[list]元素带两个参数的for 循环 10-3. 文件信息:对包含在变量中的文件列表进行操作 10-4. 在for 循环中操作文件 10-5. 在for 循环中省略[list] 10-6. 使用命令替换来产生for 循环的[list] 10-7. 对于二进制...
4.1 一个例子 4.2 规则语法 4.3 依赖的类型 4.4 文件名使用通配符 4.4.1 统配符使用举例 4.4.2 通配符存在的缺陷 4.4.3 函数wildcard 4.5 目录搜寻 4.5.1 一般搜索(变量VPATH) 4.5.2 选择性搜索(关键字...