2011-03-09 54 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含有“大约”字样。