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

时间:2011-03-08 17:19:28

标签: java

File folder2 = new File("C:\\Users\\user\\fypworkspace\\TextRenderer");

File[] listOfFiles2 = folder.listFiles(); 
System.out.println("Please enter the required word  :");
    Scanner scan2 = new Scanner(System.in); 
    String word2 = scan.nextLine();
    String [] array2 = word2.split(" ");



{
for (int i=0; i < listOfFiles.length; i++)
{
  if ((listOfFiles2[i].getName().endsWith(".txt")))
  {

      try
      {
      BufferedReader in= new BufferedReader(new FileReader(listOfFiles2[i].getName()));

      int numDoc = 0;

      Scanner s2 = new Scanner(listOfFiles2[i].getName());
      {
          while (s2.hasNext())
          {
              if (s2.next().equals(word2)) numDoc++;
          }

            System.out.println("The number of document containing the term is " + numDoc);

        }
        in.close();
    } catch (IOException e) {
    }

这是我的代码,用于计算包含特定术语的文档数。 每次程序在文档中找到特定术语时,它都会增加numDoc计数器。 但是,此代码不执行任何操作。我做错了什么?

1 个答案:

答案 0 :(得分:1)

  1. 在整个代码中添加System.out.println()以输出重要的调试信息。
  2. 没有直接关联,但您可以使用增强for循环来循环遍历文件。请参阅:http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html
  3. 您的System.out.println总计在您的循环中,在您完成所有文档的循环后它应该在外面。
  4. (也许是最重要的)您没有处理IOException。至少打印输出堆栈跟踪或来自异常的消息。