使用文件读写操作统计哈利波特英文版中的字母,单词,并按要求输出
要求如下: 1.将哈利波特英文电子版导入,并统计每个英文字母出现概率(区分大小写),由大到小排序 2.统计该txt 文件中每个单词的个数,并按照要求输出频率最高的几个单词数目 和出现概率 功能1: 输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列。 功能2: 指定目录,对目录下的每一个文件执行功能1 操作 功能3: 指定文件目录,但是会递归目录下的所有子目录,每个文件执行功能1的操作。 问题: 1.程序如何识别每一个单词: 当出现非字母符号时划分为一个单词,用正则表达式来分割句子, 形成单词; 1 //非单词用来分割单词 2 String [] words = str.split("[^(a-zA-Z)]+"); 2.如何存储单词和后边的数据:使用Map 数组, key值设置为 String 存储单词 ,value 根据需要改变类型 1 //创建哈希表 记录数目 2 Map<String,Integer> map =new HashMap<String,Integer>(); 主要思想: 读取文件内的数据,将数据转换为char类型,区分大小写统计字母个数,于此同时统计字母总个数。 1.使用BufferedReader 读取的缓存流进行读取,将数据添加到字符串缓冲区 StringBuffer 当中,将字符串缓冲区中的数据转换为char类型进行存储