用Java本身是可以写出删除文件和文件夹的方法的,今天我们用common-io中的FileUtils.forceDelete来进行操作,这次相当简单,毕竟都让common-io封装好了,看代码吧(部分参考了红薯的代码)
- package com.sucre.api.test;
- import java.io.File;
- import java.io.FileFilter;
- import java.io.IOException;
- import org.apache.commons.io.FileUtils;
- /**
- * 删除文件、目录用common-io中的FileUtils.forceDelete
- * @author 乔磊
- * @version create time:2011-1-7 下午02:38:05
- *
- */
- public class DeleteFileDirectory {
- /**
- * @param args
- */
- public static void main(String[] args) throws IOException{
- //args[0]文件夹路径 args[1]要删除的文件或者文件夹名称
- delete(new File(args[0]),args[1]);
- }
- public static void delete(File path, final String pattern) throws IOException {
- //listFiles返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
- //除了返回数组中的路径名必须满足过滤器外,此方法的行为与 listFiles() 方法相同。如果给定 filter 为 null,则接受所有路径名。
- //否则,当且仅当在路径名上调用过滤器的 FileFilter.accept(java.io.File) 方法返回 true 时,该路径名才满足过滤器。
- path.listFiles(new FileFilter(){
- public boolean accept(File pathname) {
- try {
- if(pathname.getName().equalsIgnoreCase(pattern)){
- System.out.println(pathname);
- FileUtils.forceDelete(pathname);
- }
- else if(pathname.isDirectory())
- delete(pathname, pattern);
- } catch (IOException e) {}
- return true;
- }
- });
- }
- }
执行结果
- E:\workspace\casetrialsystem(original)\import\com\iscpaa\sys\formLayout\view\dialog\javascripteditor\.svn
- E:\workspace\casetrialsystem(original)\import\com\iscpss\sys\formLayout\view\htmleditor\.svn
- E:\workspace\casetrialsystem(original)\import\com\iscpaa\sys\formLayout\view\icon\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\webwork\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\webwork\views\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\webwork\views\jsp\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\webwork\views\jsp\ui\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\xwork\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\xwork\config\.svn
- E:\workspace\casetrialsystem(original)\import\com\opensymphony\xwork\config\providers\.svn
- ......
以上都是被删除的目录
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/473922,如需转载请自行联系原作者