如何将动态值传递给FilenameFilter?

时间:2013-09-13 00:07:04

标签: java file-io

以下是我的文件在目录中的样子

  • Brake_20130901.xml
  • Tire_20130902.xml
  • Wheel_20130903.xml
  • Brake_20130910.xml
  • Brake_20131001.zip

取决于什么类型的汽车部件(刹车,车轮,轮胎),我只想返回那些xml文件。例如。如果我收到Brake,那么我只想要2个文件 AND 我只想返回xml文件。所以在上面的例子中,我只想回来

  • Brake_20130901.xml
  • Brake_20130910.xml。

这是我的代码

String carPart = "Brake";  //This value is dynamic so I can't hard code it

FilenameFilter filter = new FilenameFilter() {

public boolean accept(File dir, String name) {
return (name.contains(carPart) && name.endsWith(".xml"));}
};

我收到了无法找到carPart变量的错误。我试图使用this.carPart,但也没有运气。

你有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

声明你的变量final final String carPart = "Brake";

如果仔细观察错误,可能会说

  

不能引用在不同方法中定义的内部类中的非最终变量carPart

这样做可以解决你的问题。