我们可以使用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