计算包含特定术语的文档数量

时间:2011-03-09 00:34:00

标签: java

我可以说我的术语是“关于”。

我想知道文本文件是否包含此单词。

如果是,它将在计数器中将包含该单词的文本文件的数量增加1。

关于如何做到这一点的任何建议?

1 个答案:

答案 0 :(得分:0)

// class declaration ...
private static String readFile(String fileName) {
    String data = "";
    try {
        BufferedReader in = new BufferedReader(new FileReader(new File(fileName)));
        StringBuilder string = new StringBuilder();
        for (String line = ""; line = in.readLine(); line != null)
            string.append(line).append("\n");
        in.close();
        data = line.toString();
    }
    catch (IOException ioe) {
        System.err.println("Oops: " + ioe.getMessage());
    }
    return data;
}

public int filesContaining(String phrase, String... files) {
    int count = 0;
    for (String file : files) {
        if (readFile(file).contains(phrase))
            count++;
    }
    return count;
}

然后使用它:

int count = classInstance.filesContaining("about", "file1.txt", "file2.txt", "file3.txt");

它返回file1,file2和file3中包含单词“about”的数量。