词频统计(WEB版)

通过点击浏览按钮输入文件:

点击查询按钮后返回结果:

前台代码:

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2
 3 <!DOCTYPE html>
 4
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title></title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12         <h4>词频统计器
13             </h4>
14     <div>
15         <p>
16             请选择文件:<asp:FileUpload ID="FileUpload1" runat="server" />
17         </p>
18         <p>
19             <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" style="height: 21px; width: 62px" Text="查询" />
20         </p>
21     </div>
22         <div>
23
24             <asp:TextBox ID="TextBox1" runat="server" Height="300px" TextMode="MultiLine" Width="326px" Enabled="False"></asp:TextBox>
25
26         </div>
27     </form>
28 </body>
29 </html>

后台代码:

 1 using System;
 2 using System.Collections;
 3 using System.Configuration;
 4 using System.Data;
 5 using System.Linq;
 6 using System.Web;
 7 using System.Web.Security;
 8 using System.Web.UI;
 9 using System.Web.UI.HtmlControls;
10 using System.Web.UI.WebControls;
11 using System.Web.UI.WebControls.WebParts;
12 using System.Xml.Linq;
13 using System.Text;
14 using System.Collections.Generic;
15 using System.IO;
16
17 public partial class _Default : System.Web.UI.Page
18 {
19     protected void Page_Load(object sender, EventArgs e)
20     {
21     }
22
23     protected void Button1_Click(object sender, EventArgs e)
24     {
25         if(FileUpload1.HasFiles)
26         {
27             int n=0;
28             string strfile = FileUpload1.PostedFile.FileName;
29             string strout;
30             StreamReader sr = File.OpenText(strfile);
31             String input = sr.ReadToEnd();
32             sr.Close();
33             //Response.Write(input);
34             char [] text = input.ToCharArray();
35             Dictionary<string, int> map = new Dictionary<string, int>();
36             for(int i=0;i<text.Length;i++)
37             {
38                 string s = "";
39                 while (i< text.Length&&((text[i] >= ‘a‘ && text[i] <= ‘z‘) || (text[i] >= ‘A‘ && text[i] <= ‘Z‘) || text[i] == ‘-‘))
40                 {
41                     if (text[i] >= ‘A‘ && text[i] <= ‘Z‘)
42                         s += (text[i] + 32);
43                     else
44                         s += text[i];
45                     i++;
46                 }
47                 if (!map.ContainsKey(s))
48                 {
49                     if (s == "") continue;
50                     n++;
51                     map.Add(s, 1);
52                 }
53                 else
54                 {
55                     map[s]++;
56                 }
57             }
58             strout = "";
59             strout = "单次总数为:" + n.ToString() + "\n";
60             List<KeyValuePair<string, int>> myList = new List<KeyValuePair<string, int>>(map);
61             myList.Sort(delegate (KeyValuePair<string, int> s1, KeyValuePair<string, int> s2)
62             {
63                 return s2.Value.CompareTo(s1.Value);
64             });
65             map.Clear();
66
67             foreach (KeyValuePair<string, int> pair in myList)
68             {
69                 strout = strout + pair.Key + " " + pair.Value + "\n";
70                 //dic.Add(pair.Key, pair.Value);
71
72             }
73
74
75
76             TextBox1.Text = strout;
77
78         }
79     }
80 }

时间: 2024-08-13 01:17:55

词频统计(WEB版)的相关文章

java词频统计——web版支持

需求概要: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件. 2.用户直接输入要统计的文本,服务器返回结果 3.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英文小说词频统计结果: 4.支持用户自定义单词分隔符: 5.词汇范围对比(额外项). 分析和设计: 1.创建web工程,利用servlet上传文件的技术实现用户向服务器上传文件.页面设置表单类型为enctype="multipart/form-data",创建文件上传文本框<inp

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

原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命令行输入英文作品的文件名 3. 支持命令行输入存储有英文作品文件的目录名,批量统计 4. 从控制台读入英文单篇作品,重定向输出 代码实现: 在原代码的基础上稍做了修改,使之可以批量读取文件夹下的所有文件,所以加了一个mode来判断是单个文件输入还是文件夹输入,来不及整理程序,所以现在程序有点丑.这次

个人项目----词频统计WEB(部分功能)

需求分析 1.使用web上传txt文件,对上传的txt进行词频统计. 2.将统计后的结果输出到web页面,力求界面优美. 3.在界面上展示所给url的文章词频统计,力求界面优美. 3.将每个单词同四.六级词库进行比对,统计所传txt文件中四.六级单词涵盖率. 4.在3的基础上,展示文章中前10%单词中的覆盖百分比,词频前50%单词.词频前80%单词的覆盖百分比. 由于能力有限,学习了很久,到目前为止之完成了第一个功能,并对结果进行了输出,界面部分还有待学习. 代码实现 创建了两个JSP界面,up

词频统计Web工程

本次将原本控制台工程迁移到了web工程上.. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英文小说词频统计结果: 3. 用柱状图进行数据展示. 4. 图表上只显示文件名.总次数.排序后的前30个单词. 5.不能识别"it's,I'm,he's"这样的连词. 实现: 1. 上传文档. 2. 统计所有单词数目. 3. 统计文档的总行数. 4. 统计文档中相邻两个单词出现的次数. 5.

Java实现的词频统计——Web迁移

本次将原本控制台工程迁移到了web工程上,依旧保留原本控制台的版本. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英文小说词频统计结果: 3.支持用户自定义单词分隔符: 4.词汇范围对比(额外项). 实现: 1.迁移至web工程中,支持用户手动选择txt文件上传: 2.用户提交之后,会在后台运行词频统计函数,并且将统计结果的前10项打印到屏幕上: 3.统计结果文件Result.txt可以进

词频统计效能测试---------第二版

在第一次的词频统计中,对JProfile 款软件不是很熟悉,感觉数据不是很准确,在程序启动时JProfile总是提示Java虚拟机已退出,后来经过查阅知道解决方案:截图如下   要将 keep vm alive 勾选上. 程序总体总体情况如下: 当程序运行之后,cpu和内存的使用几乎在同一时间有一个明显的上升过程. 各个对象使用情况如下 下面是热点函数的展示,这也和我在程序中运用时间戳确定建树函数[generateCharTree()]占用时间较多的情况相符.因为对这个程序来说主要时间都花费在单

词频统计多需求版

下面针对词频统计的不同功能要求给出部分代码和截图,具体代码请访问博客下方提供的链接. 功能1. 小文件输入. 为表明程序能跑,结果真实而不是迫害老五,请他亲自键盘在控制台下输入命令. 部分代码: public static void main(String[] args) throws IOException { FileReader file; BufferedReader buffer; Map<String, Integer> hashMap = new HashMap<Strin

java词频统计——改进后的单元测试

测试项目 博客文章地址:[http://www.cnblogs.com/jx8zjs/p/5862269.html] 工程地址:https://coding.net/u/jx8zjs/p/wordCount/git ssh://[email protected]:jx8zjs/wordCount.git 测试用例: 1. 1 My English is very very pool 2.地址 [http://www.gutenberg.org/files/2600/2600-0.txt] 待测单

Hadoop之词频统计小实验(基于单节点伪分布)

声明:1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Ubuntu操作系统,hadoop1-2-1,jdk1.8.0. 3)统计词频工作在单节点的伪分布上,至于真正实际集群的配置操作还没有达到,希望能够由本文抛砖引玉. (一)Hadoop的配置修正 网上有很多Hadoop的配置教程,可自行寻找,这一部分主要是根据自身实际情况,结合自身特点,设置Hadoop.因为有时候根据别人的教程,设置总是不成功,因为别人的教程依赖于别人的软件或操作环境特点. 本部分也

7-1 词频统计 (30 分)

词频统计 参考: 对参考的代码进行了一些补充和修改,大体思路没变 并不是想说这题多难,只是在这题可以用STL的很多结构帮助解题,所以能让代码变得很简单 题目 请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词. 所谓"单词",是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符.而合法的"单词字符"为大小写字母.数字和下划线,其它字符均认为是单词分隔符. 输入格式: 输入给出一段非空文本,最后