我们可以使用Java的BufferedReader类读取文件中的单词,然后根据空格字符拆分读取的数据。请参阅以下示例:
考虑类路径中的以下文本文件。
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