使用java完成对txt格式的英文短片进行字符提取及统计。

package nenu.softWareProject;

import java.io.*;
import java.util.*;

public class Test2 {
    String filename;
    //字符计数
    public static int count(String filename,String target) throws FileNotFoundException, IOException {
        FileReader fr=new FileReader(filename);
        BufferedReader br=new BufferedReader(fr);
        StringBuilder strb=new StringBuilder();
        while(true){
            String line=br.readLine();
            if(line==null){
                break;
            }
            strb.append(line);
        }
        String result=strb.toString();
        int count=0;
        int index=0;
        while(true){
             index=result.indexOf(target,index+1);
             if(index>0){
                 count++;
             }else{
                 break;
             }
             
        }
        System.out.println(target+","+count);
        br.close();
        return count;
    }

public static void main(String[] args) throws FileNotFoundException, IOException {
        FileInputStream fis = new FileInputStream("E:\\artical.txt");// 要读的文件路径
        InputStreamReader isr = new InputStreamReader(fis);// 字符流
        BufferedReader infile = new BufferedReader(isr);    // 缓冲
        
        String string;
        String file = null;
        while ((string = infile.readLine()) != null) {
            file += string;
        }
        String words[];
        file = file.toLowerCase();
        file = file.replaceAll("[^A-Za-z]", " ");
        file = file.replaceAll("\\s+", " ");
        words = file.split("\\s+");
        String filepath= "E:/artical.txt";
        Map<String, Integer> hashMap = new HashMap<String, Integer>();
        for (int i = 0; i < words.length; i++) {
            String key = words[i];
            if (hashMap.get(key) != null) {
                int value = ((Integer) hashMap.get(key)).intValue();
                value++;
                hashMap.put(key, new Integer(value));
            } else {
                hashMap.put(key, new Integer(1));
            }
            Test2.count(filepath,key);
            
        }
        
        
    }
}

代码运行结果:

never,0
give,1
up,1
never,0
lose,1
hope,1
always,2
have,2
faith,1
it,3
allows,1
you,5
to,1
cope,1
trying,1
times,1
will,4
pass,2
as,3
they,1
always,2
do,1
just,1
have,2
patience,1
your,2
dreams,1
will,4
come,1
true,1
so,1
put,1
on,1
a,17
smile,1
you,5
ll,6
live,1
through,1
your,2
pain,1
know,1
it,3
will,4
pass,2
and,1
strength,1
you,5
will,4
gain,1

代码还存在问题,没有排序,输出有重复字符,改进中

week1词频统计的更多相关文章

  1. 作业3-个人项目<词频统计>

    上了一天的课,现在终于可以静下来更新我的博客了.       越来越发现,写博客是一种享受.来看看这次小林老师的“作战任务”.                词频统计 单词: 包含有4个或4个以上的字 ...

  2. C语言实现词频统计——第二版

    原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命 ...

  3. c语言实现词频统计

    需求: 1.设计一个词频统计软件,统计给定英文文章的单词频率. 2.文章中包含的标点不计入统计. 3.将统计结果以从大到小的排序方式输出. 设计: 1.因为是跨专业0.0···并不会c++和java, ...

  4. 软件工程第一次个人项目——词频统计by11061153柴泽华

    一.预计工程设计时间 明确要求: 15min: 查阅资料: 1h: 学习C++基础知识与特性: 4-5h: 主函数编写及输入输出部分: 0.5h: 文件的遍历: 1h: 编写两种模式的词频统计函数: ...

  5. python瓦登尔湖词频统计

    #瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...

  6. Hadoop上的中文分词与词频统计实践 (有待学习 http://www.cnblogs.com/jiejue/archive/2012/12/16/2820788.html)

    解决问题的方案 Hadoop上的中文分词与词频统计实践 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-c ...

  7. pyspark进行词频统计并返回topN

    Part I:词频统计并返回topN 统计的文本数据: what do you do how do you do how do you do how are you from operator imp ...

  8. 使用storm分别进行计数和词频统计

    计数 直接上代码 public class LocalStormSumTopology { public static void main(String[] agrs) { //Topology是通过 ...

  9. jieba库分词词频统计

    代码已发至github上的python文件 词频统计结果如下(词频为1的词组数量已省略): {'是': 5, '风格': 4, '擅长': 4, '的': 4, '兴趣': 4, '宣言': 4, ' ...

随机推荐

  1. 【Mac】安装 Homebrew 出错 Failed during: git fetch origin master:refs/remotes/origin/master --tags --force

    今天在 Mac 装 Homebrew 遇到了一个问题,在网上找了大量解决方案,做个总结. Mac 版本 High Sierra 10.13.6. 问题描述 在 Mac 终端输入了 Homebrew 官 ...

  2. 20155203 实验三《敏捷开发与XP实践》实验报告

    20155203 实验三<敏捷开发与XP实践>实验报告 一.实验内容 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找 ...

  3. 20155212 ch02 课下作业

    20155212 ch02 课下作业 T1 题目 参考附图代码,编写一个程序 "week0601学号.c",判断一下你的电脑是大端还是小端 相关知识 小端法:最低有效字节在最前面 ...

  4. 20155311《Java程序设计》实验五(网络编程与安全)实验报告

    20155311<Java程序设计>实验五(网络编程与安全)实验报告 一.实验内容及步骤 任务一: 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上面 ...

  5. js获取IE版本,while代码很特别

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. 【转载】3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解

    原文:3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解 3D中z值会影响屏幕坐标系到世界坐标系之间的转换,2D中Z值不会产生影响(而只 ...

  7. 【转载】关于RenderTarget的注意事项

    原文:关于RenderTarget的注意事项 1. 设置一个RenderTarget会导致viewport变成跟RenderTarget一样大 2. 反锯齿类型必须跟DepthStencilBuffe ...

  8. pytest使用笔记(一)

    使用环境及预置条件:pycharm+win10+python3.6+pytest 1,创建示范的测试功能脚本,另存为test_sample.py,代码如下: # test_sample.py def ...

  9. 小白初识 - 基数排序(RadixSort)

    基数排序算是桶排序和计数排序的衍生吧,因为基数排序里面会用到这两种其中一种. 基数排序针对的待排序元素是要有高低位之分的,比如单词adobe,activiti,activiti就高于adobe,这个是 ...

  10. 小白初识 - 计数排序(CountingSort)

    计数排序,属于桶排序特殊的一种. 当要排序n个数据的时候,如果所处的范围不大,我们可以取其中的最大值K,并将数据分散在K个桶里面, 每个桶里面的数据都是相同的(这样省去了桶内排序的时间),然后顺序取出 ...