ITPub博客

首页 > 应用开发 > Java > java实现简易搜索功能

java实现简易搜索功能

原创 Java 作者:mingtian66 时间:2024-09-20 13:01:55 0 删除 编辑

要实现一个简易的搜索功能,可以使用 Java 创建一个简单的控制台应用程序,该程序允许用户输入搜索关键字并在给定的文本数据中查找匹配项。下面是一个示例,包括文件读取和搜索功能。
示例代码

java

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class SimpleSearch {

    public static void main(String[] args) {
        String filePath = "example.txt"; // 要搜索的文件
        List<String> lines = readFile(filePath);

        if (lines.isEmpty()) {
            System.out.println("文件为空或无法读取。");
            return;
        }

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入搜索关键字: ");
        String keyword = scanner.nextLine();

        List<String> results = search(lines, keyword);

        if (results.isEmpty()) {
            System.out.println("没有找到匹配的内容。");
        } else {
            System.out.println("找到以下匹配:");
            for (String line : results) {
                System.out.println(line);
            }
        }

        scanner.close();
    }

    private static List<String> readFile(String filePath) {
        List<String> lines = new ArrayList<>();
        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                lines.add(line);
            }
        } catch (IOException e) {
            System.out.println("读取文件时出错: " + e.getMessage());
        }
        return lines;
    }

    private static List<String> search(List<String> lines, String keyword) {
        List<String> results = new ArrayList<>();
        for (String line : lines) {
            if (line.toLowerCase().contains(keyword.toLowerCase())) {
                results.add(line);
            }
        }
        return results;
    }
}

使用说明

    准备文本文件:在项目根目录下创建一个名为 example.txt 的文本文件,并添加一些内容。例如:

这是一个示例文件。
这里有一些测试内容。
你可以在这里搜索任意关键字。

保存代码:将上述代码保存为 SimpleSearch.java。

编译和运行: 在命令行中,导航到项目目录并运行以下命令:

bash

    javac SimpleSearch.java
    java SimpleSearch

    输入搜索关键字:程序运行后,会提示你输入搜索关键字。输入关键字后,程序会在文件中查找匹配的行并输出。

代码说明

    文件读取:readFile 方法使用 BufferedReader 从指定文件中读取所有行并存储在列表中。
    搜索功能:search 方法遍历每一行,使用 String.contains 方法检查是否包含关键字。搜索不区分大小写。
    用户交互:使用 Scanner 进行用户输入,获取要搜索的关键字。

扩展功能

    支持正则表达式搜索:可以扩展搜索功能,以支持更复杂的模式匹配。
    改进用户界面:可以考虑使用 Swing 或 JavaFX 创建图形用户界面(GUI)。
    多文件搜索:可以扩展程序,使其支持在多个文件中进行搜索。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040412/viewspace-3028514/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    589
  • 访问量
    602794