Java 图片检索代码示例:根据关键词搜索图片
// 导入必要的包 import java.io.File; import java.util.ArrayList; import java.util.List;
// 定义一个名为ImageRetriever的类
public class ImageRetriever {
// 定义一个名为main的静态方法,程序的入口
public static void main(String[] args) {
// 调用loadImagesFromDirectory方法,加载指定目录下的图片文件,返回一个List集合
List
// 定义一个名为loadImagesFromDirectory的静态方法,用于从指定目录加载图片文件
public static List<File> loadImagesFromDirectory(String directoryPath) {
// 创建一个List集合,用于存储加载的图片文件
List<File> imageLibrary = new ArrayList<>();
// 创建一个File对象,表示指定目录
File directory = new File(directoryPath);
// 判断指定目录是否为一个目录
if (directory.isDirectory()) {
// 获取指定目录下的所有文件,返回一个File数组
File[] files = directory.listFiles();
// 遍历文件数组,筛选出所有以.jpg结尾的文件,并将其添加到imageLibrary集合中
for (File file : files) {
if (file.isFile() && file.getName().endsWith('.jpg')) {
imageLibrary.add(file);
}
}
}
// 返回加载的图片文件集合
return imageLibrary;
}
// 定义一个名为searchImagesByKeyword的静态方法,用于在指定集合中根据关键词搜索匹配的图片文件
public static List<File> searchImagesByKeyword(List<File> imageLibrary, String keyword) {
// 创建一个List集合,用于存储匹配的图片文件
List<File> matchedImages = new ArrayList<>();
// 遍历imageLibrary集合,筛选出所有文件名包含关键词的文件,并将其添加到matchedImages集合中
for (File image : imageLibrary) {
if (image.getName().toLowerCase().contains(keyword.toLowerCase())) {
matchedImages.add(image);
}
}
// 返回匹配的图片文件集合
return matchedImages;
}
// 定义一个名为displayMatchedImages的静态方法,用于展示匹配的图片信息
public static void displayMatchedImages(List<File> matchedImages) {
// 输出匹配的图片数量
System.out.println('共找到' + matchedImages.size() + '张匹配的图片:');
// 遍历匹配的图片文件集合,输出每个文件的文件名
for (File image : matchedImages) {
System.out.println(image.getName());
}
}
}
原文地址: https://www.cveoy.top/t/topic/f1KR 著作权归作者所有。请勿转载和采集!