我想用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]);
}

10-07 19:31