Q:

Hashmap implementation to count the occurrences of each character

The below code is to count the occurence of each character and it should print the count. 
But with the code I have tried I get only a 1 I don't know the changes I should make.
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

class Count_CharMap {
public static void main(String[] args) {
    try
    {
        FileInputStream file = new FileInputStream("D:\\trial.txt");
        DataInputStream dis = new DataInputStream(file);
        BufferedReader br = new BufferedReader(new InputStreamReader(dis));
        String Contents="";
        String str="";

        while ((Contents = br.readLine()) != null) {
            str+=Contents;
        }

        char[]char_array =str.toCharArray();
        int count = 0;
        char ch = char_array[count];
        Map<Character,Integer> charCounter=new HashMap<Character,Integer>();
        for(int i=0;i<str.length();i++)
        {
            if(charCounter.containsKey(char_array[i]))
            {
                charCounter.put(ch, charCounter.get(ch)+1);
            } 
            else
            {
                charCounter.put(ch, 1);
            }
       }

       for(Character key:charCounter.keySet())
       {
           System.out.println(key+""+charCounter.get(key));
       }
    } 
    catch(IOException e1){
        System.out.println(e1);
    }
    }
}

Actual output should be like 
If i have abcdabc in my trial.txt it should print a 2 b 2c 2 d 1.

A:

You're leaving char ch set as the same character through each execution of the loop. 
It should be:
ch = char_array[i]; 
if(charCounter.containsKey(ch)){
     charCounter.put(ch, charCounter.get(ch)+1);
}
else
{
    charCounter.put(ch, 1);
}

Inside the for loop. 

A:

Java 8 streams:
Map<String, Long> map = 
    Arrays.stream(string.split("")).
    collect(Collectors.groupingBy(c -> c, Collectors.counting()));

Guava HashMultiset:
Multiset<Character> set = HashMultiset.create(Chars.asList("bbc".toCharArray()));
assertEquals(2, set.count('b'));

A:

Hai All The below code is to count the occurrence of each character and it should print the count. may be helps you..Thanks for seeing     
package com.corejava;
import java.util.Map;
import java.util.TreeMap;

public class Test {
    public static void main(String[] args) {

        String str = "ramakoteswararao";

        char[] char_array = str.toCharArray();

        System.out.println("The Given String is : " + str);

    Map<Character, Integer> charCounter = new TreeMap<Character, Integer>();

        for (char i : char_array) {

    charCounter.put(i,charCounter.get(i) == null ? 1 : charCounter.get(i) + 1);

        }

    for (Character key : charCounter.keySet()) {
  System.out.println("occurrence of '" + key + "' is  "+ charCounter.get(key));
        }

    }

}

