我想用Java编写这样的内容:
public class MyMatcher
{
public static boolean isMatching(String filename, String param) {
...
}
}
filename将是没有目录的文件的名称
(例如:readme.txt,shares.csv,一首好听的Song.mp3,...)
param类似于“* .mp3”,表示所有以.mp3结尾的文件,依此类推。
注意:param不是正则表达式语句,更像是在textpad或eclipse甚至dos dir上搜索文件的通常方式。
有人可以建议如何做到这一点,或者是否有一些开源库可以做到这一点?
最佳答案
Apache Commons IO有一个WilcardFileFilter:
来自javadoc的示例:
File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("*test*.java~*~");
File[] files = dir.listFiles(fileFilter);
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}