// 导入必要的包 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 imageLibrary = loadImagesFromDirectory('imageLibrary'); // 调用searchImagesByKeyword方法,在imageLibrary集合中根据关键词搜索匹配的图片文件,返回一个List集合 List matchedImages = searchImagesByKeyword(imageLibrary, 'sunset'); // 调用displayMatchedImages方法,展示匹配的图片信息 displayMatchedImages(matchedImages); }

// 定义一个名为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());
    }
}

}

Java 图片检索代码示例:根据关键词搜索图片

原文地址: https://www.cveoy.top/t/topic/f1KR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录