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

时间:2017-10-27 10:04:51

标签: java bufferedreader n-gram

我无法阅读文本文件的char部分,并使每个char的值都是文件中char的数量。

例如:

  我正在吃饭

应该是:

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

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