Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法。分享给大家供大家参考,具体如下:
packagejavatest;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.util.Arrays;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Scanner;
importjava.util.Set;
publicclassDemo{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
System.out.println("请输入:");
StringinputStr=scanner.nextLine();
System.out.println("inputStr:"+inputStr);
Filefile=newFile("D:/test/test01.txt");
FileOutputStreamfileOut;
try{
fileOut=newFileOutputStream(file);
fileOut.write(inputStr.getBytes());
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
Stringresult="";
try{
BufferedReaderbr=newBufferedReader(newFileReader(file));//构造一个BufferedReader类来读取文件
Strings=null;
while((s=br.readLine())!=null){//使用readLine方法,一次读一行
result=result+s+"";
}
br.close();
}catch(Exceptione){
e.printStackTrace();
}
System.out.println("---------------------------------------------");
System.out.println(result);
String[]arr=result.split("");
System.out.println(Arrays.toString(arr));
System.out.println(arr.length);
Mapmap=newHashMap<>();
for(Stringstr:arr){
Integernum=map.get(str);
map.put(str,num==null?1:num+1);
}
Setset=map.entrySet();
Iteratorit=set.iterator();
System.out.println("---------------------------------------------");
System.out.println("方法一:");
while(it.hasNext()){
Map.Entryentry=(Map.Entry)it.next();
System.out.println("单词"+entry.getKey()+"出现次数:"+entry.getValue());
}
System.out.println("---------------------------------------------");
System.out.println("方法二:");
Iteratorit01=map.keySet().iterator();
while(it01.hasNext()){
Objectkey=it01.next();
System.out.println("单词"+key+"出现次数:"+map.get(key));
}
}
}
输出:
请输入: AAABBBCCCDDDDDDAAA inputStr:AAABBBCCCDDDDDDAAA --------------------------------------------- AAABBBCCCDDDDDDAAA [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程序设计有所帮助。