Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
2017-07-08 11:21
1206 查看
本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法。分享给大家供大家参考,具体如下:
package javatest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class Demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入 :"); String inputStr = scanner.nextLine(); System.out.println("inputStr : " + inputStr); File file = new File("D:/test/test01.txt"); FileOutputStream fileOut; try { fileOut = new FileOutputStream(file); fileOut.write(inputStr.getBytes()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } String result = ""; try { BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件 String s = null; while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行 result = result + s + " "; } br.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println("---------------------------------------------"); System.out.println(result); String[] arr = result.split(" "); System.out.println(Arrays.toString(arr)); System.out.println(arr.length); Map<String, Integer> map = new HashMap<>(); for (String str : arr) { Integer num = map.get(str); map.put(str, num == null ? 1 : num + 1); } Set set = map.entrySet(); Iterator it = set.iterator(); System.out.println("---------------------------------------------"); System.out.println("方法一 :"); while (it.hasNext()) { Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>) it.next(); System.out.println("单词 " + entry.getKey() + " 出现次数 : " + entry.getValue()); } System.out.println("---------------------------------------------"); System.out.println("方法二 :"); Iterator it01 = map.keySet().iterator(); while (it01.hasNext()) { Object key = it01.next(); System.out.println("单词 " + key + " 出现次数 : " + map.get(key)); } } }
输出:
请输入 : AAA BBB CCC DDD DDD AAA inputStr : AAA BBB CCC DDD DDD AAA --------------------------------------------- AAA BBB CCC DDD DDD AAA [AAA, BBB, CCC, DDD, DDD, AAA] 6 --------------------------------------------- 方法一 : 单词 AAA 出现次数 : 2 单词 CCC 出现次数 : 1 单词 BBB 出现次数 : 1 单词 DDD 出现次数 : 2 --------------------------------------------- 方法二 : 单词 AAA 出现次数 : 2 单词 CCC 出现次数 : 1 单词 BBB 出现次数 : 1 单词 DDD 出现次数 : 2
PS:这里再为大家推荐2款非常方便的统计工具供大家参考使用:
在线字数统计工具:
http://tools.jb51.net/code/zishutongji
在线字符统计与编辑工具:
http://tools.jb51.net/code/char_tongji
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- java 读取键盘输入到txt文件,统计每个单词出现的次数并输出
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- java读取txt文件,并统计每行中每个字母出现的次数,并将产生的数字保存到一个新的txt文件中(有加分)
- 第13周-项目1-小玩文件-用键盘输入文件名,统计输出文件中每个字母、数字字符出现的次数
- Java 读取一段英文文档统计每个单词出现的次数和单词的总数
- 从文件读取包含数字和字母字符串,统计每个字符出现的次数,将次数输出到另外一个文件
- Java 读取一段英文文档统计每个单词出现的次数和单词的总数
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出例如: a: 21 次 b: 15 次 c:: 15 次 把: 7 次 当: 9 次 前: 3 次
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出
- Python读取英文文件并记录每个单词出现次数后降序输出示例
- 读取txt文件统计文章里"java"字符串出现的次数
- 利用Map实现的统计每个输入字符串或则单词出现的次数
- Java实现 统计单词出现的次数并按照单词频率从高到低输出
- 统计输出某个文件中每个单词出现的次数
- 读取一个.txt文件并计数每个单词出现的次数
- Java - 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
- Java实现统计一篇文章中每个单词出现的次数
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?