Java对于给定的文件sample.txt,统计其中单词的个数,以及给定单词出现的次数。
时间: 2023-11-27 14:50:20 浏览: 32
下面是一个Java程序,可以实现对于给定文件sample.txt中单词的个数以及给定单词出现的次数的统计:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
String filename = "sample.txt";
String word = "Java";
int wordCount = 0;
Map<String, Integer> wordMap = new HashMap<>();
try {
File file = new File(filename);
Scanner scanner = new Scanner(file);
while (scanner.hasNext()) {
String line = scanner.nextLine();
String[] words = line.split("[\\s.,;:!?(){}\\[\\]\"]+");
for (String w : words) {
if (w.equalsIgnoreCase(word)) {
wordCount++;
}
if (wordMap.containsKey(w)) {
wordMap.put(w, wordMap.get(w) + 1);
} else {
wordMap.put(w, 1);
}
}
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("File not found: " + filename);
return;
}
System.out.println("Total number of words: " + wordMap.size());
System.out.println("Number of occurrences of \"" + word + "\": " + wordCount);
}
}
```
该程序首先定义了要统计的文件名和目标单词,以及计数器和存储单词和出现次数的Map。然后使用Scanner读取文件内容,根据空格、逗号、句号等标点符号进行分词,统计单词个数和给定单词出现次数,并将所有单词和出现次数存储到Map中。最后输出结果。