Java Program to find each word count in a text file

Java Program to find each word count in a text file

Example:

Input: Beingcodeexpert is codnig expert side for student. The Beingcodeexpert provide end to end solution of any problem.

Approach

Java

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.stream.Collectors;

public class WordCountInFile {
    public static void main(String[] argsthrows Exception {
        String line;

        // file open using FileReader
        FileReader file = new FileReader("D://data.txt");
        BufferedReader br = new BufferedReader(file);
        HashMap<StringIntegermap = new HashMap<StringInteger>();
        // Iterate file till end of line
        while ((line = br.readLine()) != null) {
            String words[] = line.split(" ");
            for (String string : words) {
                map.put(string, map.getOrDefault(string, 0) + 1);
            }
        }

        br.close();

        // sort the map using value
        map = map.entrySet().stream().
            sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())).
            collect(
                Collectors.toMap(Map.Entry::getKey, 
            Map.Entry::getValue, (o2V, o1V) -> o2V, LinkedHashMap::new));

            map.forEach((k, v) -> System.out.println(k + " " + v));      
       
    }
}

Output

Beingcodeexpert 2
end 2
expert 1
side 1
student1
problem1
for 1
is 1
any 1
codnig 1
The 1
provide 1
solution 1
of 1
to 1


No comments:

Post a Comment