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计数器。
但是,此代码不执行任何操作。我究竟做错了什么?
最佳答案
在整个代码中添加System.out.println()以输出重要信息以进行调试。
没有直接关系,但是可以使用Enhance for循环遍历文件。参见:http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html
总计的System.out.println位于循环中,完成所有文档的循环后,它应该位于循环中。
(也许是最重要的)您没有处理IOException。至少要打印出堆栈跟踪或来自异常的消息。