`
rich8w
  • 浏览: 181782 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java用File模糊删除少量文件

阅读更多
要同时删除不多的几个文件,不想再判断OS再用delete还是sudo rm,想写个通用的。搜了下g,正巧找到了。


import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 
表1.常用的元字符
   代码  	说明
	. 		匹配除换行符以外的任意字符
	\w 		匹配字母或数字或下划线或汉字
	\s 		匹配任意的空白符
	\d 		匹配数字
	\b 		匹配单词的开始或结束
	^ 		匹配字符串的开始
	$ 		匹配字符串的结束
 *
 */
public class TestFileDelete {
    public static void main(String args[]) {
        List<String> files = new ArrayList<String>();
        File file = new File("C:\\Documents and Settings\\Administrator\\桌面\\正则");
        /*String postfix = "^.*[.XXX]$";//以".XXX"结尾的文件
        String contain = "^.*[XXX].*$";//名字包含"XXX"的文件
        String prefix = "^[XXX].*$";//以"XXX"开头的文件*/
        
        //String cc="0AA933E9-277D-4E77-B95F-876146452C6B";
        
        String postfix = "^.*[.doc]$";//以".XXX"结尾的文件
        String contain = "^.*[4E77].*$";//名字包含"XXX"的文件
        String prefix = "^[d].*$";//以"XXX"开头的文件
        
        File fileList[] = file.listFiles();
        for (File f : fileList) {
            if (f.isFile()) {
                //if (f.getName().matches(postfix))
                if (f.getName().matches(contain))
                //if (f.getName().matches(prefix))
                    files.add(f.getName());
            }
        }
        System.out.println(String.valueOf(files));
    }
}



正则可以看《正则表达式30分钟入门》

RegexTester中的Options-Ignore case和Multiline勾上。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics