使用Java计算文本文件中的单词数

我们可以使用Java的BufferedReader类读取文件中的单词,然后根据空格字符拆分读取的数据。请参阅以下示例:

示例

考虑类路径中的以下文本文件。

test.txt

This is Line 1
This is Line 2
This is Line 3
This is Line 4
This is Line 5
This is Line 6
This is Line 7
This is Line 8
This is Line 9
This is Line 10

测试器

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

public class Tester {

   private static final String FILE_PATH = "data.txt";
   public static void main(String args[]) throws IOException {
      FileUtil fileUtil = new FileUtil(FILE_PATH);
      System.out.println("No. of words in file: " + fileUtil.getWordCount());
   }
}

class FileUtil {
   static BufferedReader reader = null;
   public FileUtil(String filePath) throws FileNotFoundException {
      File file = new File(filePath);
      FileInputStream fileStream = new FileInputStream(file);
      InputStreamReader input = new InputStreamReader(fileStream);
      reader = new BufferedReader(input);
   }

   public static int getWordCount() throws IOException {
      int wordCount = 0;
      String data;
      while((data = reader.readLine()) != null){

         //\\ s +用于空格分隔符的正则表达式
         String[] words = data.split("\\s+");
         wordCount += words.length;
      }
      return wordCount;
   }
}

这将产生以下结果-

输出结果

No. of words in file: 40