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勾上。

你可能感兴趣的:(java,c,正则表达式,F#,OS)