Question
Modify the program to summarize the number of occurrences StreamOfLines.java // Counting word occurrences in a text file. import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths;
Modify the program to summarize the number of occurrences
StreamOfLines.java
// Counting word occurrences in a text file.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Map;
import java.util.TreeMap;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
public class StreamOfLines {
public static void main(String[] args) throws IOException {
// Regex that matches one or more consecutive whitespace characters
Pattern pattern = Pattern.compile("s+");
// count occurrences of each word in a Stream sorted by word
Map wordCounts =
Files.lines(Paths.get("Chapter2Paragraph.txt"))
.flatMap(line -> pattern.splitAsStream(line))
.collect(Collectors.groupingBy(String::toLowerCase,
TreeMap::new, Collectors.counting()));
// display the words grouped by starting letter
wordCounts.entrySet()
.stream()
.collect(
Collectors.groupingBy(entry -> entry.getKey().charAt(0),
TreeMap::new, Collectors.toList()))
.forEach((letter, wordList) -> {
System.out.printf("%n%C%n", letter);
wordList.stream().forEach(word -> System.out.printf(
"%13s: %d%n", word.getKey(), word.getValue()));
});
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Certainly To modify the program to summarize the number of occurrences of each word you c...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started