Counting characters in a text file I have a text file and I was curious about what character appears how often in the text.

Any review is appreciated.

public class CountLetters {
    public static void main(String[] args) throws Exception {
        TreeMap&lt;Character, Integer&gt; hashMap = new TreeMap&lt;Character, Integer&gt;();
        File file = new File("C:/text.txt");
        Scanner scanner = new Scanner(file,"utf-8");
        while (scanner.hasNext()) {
            char[] chars = scanner.nextLine().toLowerCase().toCharArray();
            for (Character c : chars) {
                if(!Character.isLetter(c)){
                    continue;
                }
                else if (hashMap.containsKey(c)) {
                    hashMap.put(c, hashMap.get(c) + 1);
                } else {
                    hashMap.put(c, 1);
                }
            }
        }
        for (Map.Entry&lt;Character, Integer&gt; entry : hashMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}


The output will be for example: 


a: 1202
b: 311
c: 603
d: 510
e: 2125
f: 373
g: 362
h: 718
i: 1313
j: 5
k: 74
l: 678
m: 332
n: 1129
o: 1173
p: 348
q: 40
r: 812
s: 1304
t: 1893
u: 415
v: 195
w: 314
x: 86
y: 209
z: 9
Resources:
You should start using try-with-resources. This statment does some work for you with resources that implement AutoCloseable. It closes these resources for you, so you don't have to worry about file-locks and remaining database connections:
File file = new File(&quot;C:/text.txt&quot;);
try(Scanner scanner = new Scanner(file, &quot;utf-8&quot;)){
    //your code here ;)
}

You also shouldn't throw Exception in the main method of your program. This can be very confusing to users. Instead you main-method should handle all exceptions &quot;gracefully&quot; by being wrapped into a try-catch-block.
Conditionals:

if(!Character.isLetter(c)){
   continue;
}


This is an early return statement for the purpose of following conditions, meaning you don't have to write else if in your next condition.
Naming
hashMap is not a good name. The map you use is not a Hash-Map, and treeMap would also not explain what the map does, what it contains.
You might want to rename it to characterMap
all else equal, your naming is nice and consistent, and tells exactly what the variables do. You nicely follow camelCase-conventions. Keep it up!
Summary:
Your code reads nicely and is easily understandable. You follow naming conventions and have descriptive and understandable variable names. You should work on your exception handling and the use of resources.