【问题标题】:File Utils Search Implementation文件实用程序搜索实现
【发布时间】:2013-02-03 01:19:52
【问题描述】:

我想实现对匹配关键字的文件或文件夹的搜索。我正在使用以下代码,但返回的文件夹与字符串不匹配。返回所有目录。请问有什么问题吗?

import java.io.File;
import java.io.IOException;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.filefilter.TrueFileFilter;

public class SearchFiles {

public static void main(String args[]){
File directory=new File("C:/Users");
String keyword="Logs";
IOFileFilter fileFilter = new IOFileFilter() {
public boolean accept(File directory, String fileName) {
    return directory.isDirectory()&&fileName.contains(keyword);
}

@Override
public boolean accept(File arg0) {
if(arg0.getName().contains(keyword)){return true;}
else{
    return false;
}

}
};
List<File> files = (List<File>)FileUtils.listFilesAndDirs(directory, fileFilter, TrueFileFilter.INSTANCE);
for (File file : files) {
    try {
        System.out.println("file: " + file.getCanonicalPath());
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

} }

【问题讨论】:

  • 能贴出编译的代码吗?
  • @Terry Li。请看编辑。

标签: java file search


【解决方案1】:

根据FileUtils.listFilesAndDirs 的javadoc,生成的集合还将包括子目录本身的名称。这就是您在结果中看到目录名称的原因。

【讨论】:

  • OK Shiva 说得通。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多