首页 > 开发 > Java > 正文

Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法

2024-07-13 10:09:41
字体:
来源:转载
供稿:网友

本文实例讲述了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 AAAinputStr : 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

希望本文所述对大家java程序设计有所帮助。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表