テキストファイル内で特定の単語を検索する方法(Java)


方法1: BufferedReaderを使用する方法

以下のコードは、BufferedReaderを使用してテキストファイルを行単位で読み込み、指定した単語を検索する方法です。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class WordSearch {
    public static void main(String[] args) {
        String filePath = "path/to/your/textfile.txt";
        String searchWord = "targetWord";

        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            int lineNumber = 1;

            while ((line = br.readLine()) != null) {
                if (line.contains(searchWord)) {
                    System.out.println("Found at line " + lineNumber + ": " + line);
                }
                lineNumber++;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上記のコードでは、filePathには検索するテキストファイルのパスを指定し、searchWordには検索したい単語を指定します。該当する行が見つかるたびに、行番号とその行の内容がコンソールに表示されます。

方法2: java.nio パッケージを使用する方法

以下のコードは、java.nioパッケージの機能を使用してテキストファイルを読み込み、指定した単語を検索する方法です。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class WordSearch {
    public static void main(String[] args) {
        String filePath = "path/to/your/textfile.txt";
        String searchWord = "targetWord";

        try (Stream<String> lines = Files.lines(Paths.get(filePath))) {
            lines.filter(line -> line.contains(searchWord))
                 .forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上記のコードでは、filePathには検索するテキストファイルのパスを指定し、searchWordには検索したい単語を指定します。該当する行が見つかるたびに、その行がコンソールに表示されます。

これらの方法を使用すると、指定した単語がテキストファイル内のどの行に存在するかを見つけることができます。適宜、自分の要件に合わせてコードをカスタマイズしてください。