先使用 ioutil.ReadDir 遍历出指定目录下的文件,再递归进辩梁目录中遍历,问题的关键在于识别出悔滑文件为目录, fs.FileInfo 中有一个 IsDir() 函数可以识别是否是目录
正则匹配使用 regexp.MatchString ,regexp中有很多正则 *** 作的工具,如根据正则替换字符串中的指定字符
枚举文件即可。
枚举文件实例:
.版本 2.子程序 枚举文件, , , 递归枚举指定目录下所有文件。
.参数 目录, 文本型, , 枚举文件的目录。
.参数 后缀名, 文本型, 可空, 请以“.*”的格式提供。
.参数 文件列表, 文本型, 参考 数组, 提供一个文本数组变量来保存文件完整路径。
.局部变量 临_目录, 文本型
.局部变量 临_文件, 文本型
.局部变量 i, 整数型, 静态
' 枚举目录
.如果真 (倒找文本 (目录, “\”, , 假) ≠ 取文本长度 (目录))
目录 = 目录 + “\” ' 把末尾的斜杠补全。
.如果真结束
清除数组 (文件列表) ' 删除此句就会在原有基础上再加入成员者旦,所以要清除。
临_目录 = 寻找文件 (目录 + “*”, #子目录) ' 第一次寻找要提供相应条件。
.判断循环首 (临_目录 ≠ “”) ' 只要找到的结果不为空,就继续寻找。
.如果真 (临_目录 ≠ “.” 且 临_目雀燃录 ≠ “..”) ' 如果不把这两个点过滤掉会无限递归。
枚举文件 (目录 + 临_目录 + “\”, 后缀名, 文件列表) ' 递归。
.如果真结束
临_目录 = 寻找文件 (, #子目录) ' 之后,系统会默认使用最近一次提供的条件,进行寻找下一个结果,所以这里只需要指定寻找对象:#子目录。
.判断循环尾 ()
' 枚举文件
临_文件 = 寻找文件 (目录 + “*” + 后缀名, ) ' 第一次寻找要提供相应条件。
.判断循环首 (临_文件 ≠ “”) ' 只要找到的结果不为空,则继续寻找。
临_文件 = 目录 + 临_目录 + 临_文件 ' 文件全路径=父目录+当前目录+文件名。
加入成员顷嫌虚 (文件列表, 临_文件)
临_文件 = 寻找文件 (, )
.判断循环尾 ()
如果要一个个显示,那么在最后用计次循环就可以实现了。
如有疑问请追问。
思老顷路如下使用递归public static void de(File f)
{ File [] b = f.listFiles()
//获取包含file对象对应的子目录或者文件
for(int i =0i<b.lengthi++}{
if(b[i].isFile()){
b[i].delete()//判断是否为文件如果是 就删除 }
else{ de(b[i])//否则重新递归卜薯到型含者方法中 }
} f.delete()//最后删除该目录中所有文件后就删除该目录 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)