rich8w 发表于 2013-1-15 02:44:34

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"的文件      String prefix = "^.*$";//以"XXX"开头的文件*/                //String cc="0AA933E9-277D-4E77-B95F-876146452C6B";                String postfix = "^.*[.doc]$";//以".XXX"结尾的文件      String contain = "^.*.*$";//名字包含"XXX"的文件      String prefix = "^.*$";//以"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勾上。
页: [1]
查看完整版本: Java用File模糊删除少量文件