BufferedReader统计TXT文本

package com.wenjian;
import java.io.*;
import java.util.*;

public class piao {

public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
Map<String, Integer> map = new HashMap<>();
//打开文件
File file=new File("F:\JAVA程序集合\01JAVA\src\com\wenjian\飘英文版.txt");
FileReader fr = new FileReader(file);
try {
BufferedReader buf1=new BufferedReader(fr);
String s=null;
while((s=buf1.readLine())!=null)//读入文档一行,直到没有单词为止
{
String[] words=s.split(" ");//将该行的字符串分割成单词数组
for(int i=0;i<words.length;i++)
{
if(map.containsKey(words[i]))//判断每一个单词数组是否在Map集合里
{
Integer x=map.get(words[i]);//取出对应的value值
x++;//进行+1操作
map.put(words[i], x);//再将该一对值放进集合,集合只会记录最后一次放进的数据
}
else
map.put(words[i],1);//将新的单词放进集合
}
}
fr.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
//开始查找出现次数最多的单词
String ans="";
int maxn=-5;
Iterator<String> iter=map.keySet().iterator();
while(iter.hasNext())
{
String key=iter.next();
int m=map.get(key);
if(m>maxn)
{
maxn=m;
ans=key;
}
}
System.out.println("最多出现的单词是:"+ans+" 出现的次数是:"+map.get(ans));
//将出现次数最多的单词和对应的次数写进文件里
File file1=new File("1.txt");
if(!file.exists())
{
System.out.println("该文件不存在");
return ;
}
else
{
try {
FileWriter fw=new FileWriter(file1);
BufferedWriter bufw=new BufferedWriter(fw);
bufw.write("单词出现的最多的是:"+ans+" 次数是:"+map.get(ans));
bufw.close();
fw.close();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}

原文地址:https://www.cnblogs.com/studya/p/12152135.html