如何在 java 中创建 unigram?每个 'char' 有 'int' 来计算 txt 文件中有多少 'char'

How to create unigram in java ? each 'char' have 'int' to count how many 'char' in txt file

我无法读取文本文件的 char 部分并使每个 char 的值等于文件中 char 的编号。

例如:

i'm eating

应该是:

i = 2
m = 1
e = 1
a = 1
t = 1
n = 1
g = 1

谁能帮帮我?

Java char类型是一个16位整数(https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html),所以一个比较小的数组就可以存储计数器:

int statistics[]=new int[65536];
int onechar;
while(-1!=(onechar=br.read())){
    statistics[onechar]++;
}

for(int i=' ';i<statistics.length;i++){
    if(statistics[i]>0){
        System.out.println(String.format("%c: %d",i,statistics[i]));
    }
}

其中 brBufferedReader