我有很多图像文件,我想按名称搜索特定文件。我正在寻找使用Java实现这一点的建议。
注意:我使用过Apache lucene,但它不能用于图像文件。我认为它按文件内容进行搜索。
请建议在大量图像文件(TB)中按名称搜索文件的最佳技术是什么。
修改
示例:
用户输入'Engine',它应该给出如下结果:
X60_031004_P05_16_AJ126SC_ENGINE_COVER_AWD_2.jt X60_031004_P05_16_AJ127SC_ENGINE_COVER.jt
答案 0 :(得分:0)
您可以使用org.apache.commons.io.FileUtils
,如下所示:
File root = new File("C:\\");
String fileName = "Engine";
String[] extensions = {"jt"};
boolean recursive = true;
Collection files = FileUtils.listFiles(root, extensions, recursive);
for (Iterator iterator = files.iterator(); iterator.hasNext();) {
File file = (File) iterator.next();
if (file.getName().toLowerCase().contains(fileName.toLowerCase()))
System.out.println(file.getAbsolutePath());
}
答案 1 :(得分:0)
您可以使用Lucene搜索文件名或一般图像元数据。它可能是比FileUtils更好的解决方案,特别是如果你想拥有所有漂亮的“SearchEngine”功能。
我对这种要求没有任何经验,但我会这样做: