2011-03-09 53 views
0

可以說我有一個術語「約」。計算包含特定術語的文檔數

我想知道一個文本文件是否包含這個詞。

如果是,則會在計數器中增加包含單詞的文本文件數量1。

有關如何做到這一點的任何建議?

+0

你有什麼試過,你卡在哪裏?如果這是作業,它也應該有作業標籤。 – 2011-03-09 00:42:15

+0

根據您之前的問題,我認爲您正在努力實現TF/IDF。您是否正在尋找一個或多個文檔中出現一個或多個術語的次數?請在你的問題中更具體,以獲得更有用的答案。 – 2011-03-09 01:08:00

回答

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"); 

,並返回多少文件1,文件2,並且文件3含有「大約」字樣。