欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    java敏感词汇分析.doc

    • 资源ID:78782141       资源大小:128.50KB        全文页数:24页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java敏感词汇分析.doc

    Java课程设计报告 题 目:简单文本编辑器程序的设计 年级专业: 软件工程(R) 学 号: * 学生姓名: * 指导老师: 完成时间:2010年 7月 6 日目 录摘要1前言21需求分析21.1需求分析21.2功能设计32.概要设计32.1程序设计思路32.2程序运行界面32.3模块说明图42.4程序流程图52.5程序相关说明63.程序详细设计与分析63.1.初始化组件63.2.构建菜单栏及其下拉菜单63.3.“文件”菜单的事件监听73.4.“编辑”菜单的事件监听83.5.异常处理94测试分析105源程序清单136课程设计总结17参考文献17敏感词汇分析摘要 该报告中的程序是使用Java程序编写, 21世纪是信息爆炸的时代,信息技术,网络技术等飞速发展。因而出现许多网络用词,当然也包括不文明的用语,这就需要开发一个软件来检索出分析网络用语,用来屏蔽一些不文明敏感的词汇。给我们大家营造一个安全文明的网络环境!关键词:java语言、敏感词汇分析程序、Jcreator前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程序设计中,因为需要开发的是敏感词汇分析程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。1需求分析1.1需求分析现在各大软件公司都有自己的、各种高级敏感词汇的程序,但是这些公司都有自己的版权,我们也不可能得到这些源代码!而且这些公司的程序也相当复杂,仅从日常应用方面来说,对于初学java的我们也无法理解,就需要我们开发一个简单易懂的敏感词汇分析程序。1.2功能设计本程序要构建敏感词汇分析程序参照了Windows操作系统的文本编辑器工具,其功能有以下几个方面:(1).菜单中有“文件”,“分析”,“帮助”三个主菜单。(2)“文件”有“新建”“打开”二个子菜单:分别用于新 建文件,打开文件。 (3)分析中有“确定”、“取消”。 2.概要设计2.1程序设计思路在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”、“分析”、“帮助”。JTextPane主要用来输入文本。2.2程序运行界面2.3模块说明图implementsActionListenermynotepadJFrameextends 图1在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。mynotepad的构造方法添加事件监听初始化容器组件初始化初始化文字输入区菜单栏帮助分析文件新建打开取消确定 图2 在图2中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。2.4程序流程图启动程序输入文字 False False 关于颜色粘贴复制退出剪切保存打开新建 true true true true true true true trueabout.show()file=nullcolorfile=openfilesavingcontent.pastecontent.copy()System.exit(0)content.cut()关闭或退出程序 图32.4程序相关说明整个文本编辑器分为2快:菜单栏和内容输入区。本程序中类的关系为TestJMenu extends JFrame implements ActionListener (1).Textcontent为程序文本输入区。 (2).Menu为菜单栏。 (3).HelpDialog为关于对话框。 3.程序详细设计与分析3.1.初始化组件initTextContent(); initMenu(); initHelpDialog();3.2.构建菜单栏及其下拉菜单JMenu menus=new JMenunew JMenu("文件"),new JMenu("分析"),new JMenu("帮助");JMenuItem optionofmenu=new JMenuItemnew JMenuItem("文件"),new JMenuItem("新建"),new JMenuItem("打开"),3.3.功能分析第一个功能:import java.awt.*;import java.awt.event.*;public class Mingan1 public static void main(String args) Frame f1=new Frame("敏感词分析程序"); f1.setBounds(500, 100, 300, 200); f1.setBackground(Color.lightGray); f1.setLayout(new GridLayout(3,1); Panel p1=new Panel(); f1.add(p1); Panel p2=new Panel(); f1.add(p2); Panel p3=new Panel(); f1.add(p3); f1.setVisible(true); Label l1=new Label("请点击输入含有敏感词的文本文件:"); p3.add(l1); Button b1=new Button("确定"); p3.add(b1); b1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) TestJMenu jmFrame=new TestJMenu(); ); Label l2=new Label("敏感词汇保存在sensitive.txt文件中"); p1.add(l2); p2.add(new Label("请查看sensitive.txt文件"); 第二个功能:import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.io.File;import java.io.FileInputStream;public class TestJMenu extends JFrame implements ActionListener JTextArea jta=new JTextArea(); TestJMenu() this.setSize(400,300); JMenuBar jmb=new JMenuBar(); JMenu jmFile=new JMenu("文件"); JMenuItem jmiNew=new JMenuItem("新建"); JMenuItem jmiOpen=new JMenuItem("打开"); jmiOpen.addActionListener(this); jmFile.add(jmiNew); jmFile.add(jmiOpen); JMenu jmFenxi=new JMenu("分析"); JMenuItem jmiQue=new JMenuItem("确定"); JMenuItem jmiQu=new JMenuItem("取消"); jmFenxi.add(jmiQue); jmFenxi.add(jmiQu); jmiQue.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String filterText = jta.getText(); try jta.setText(Fenx.getFilterText(filterText); catch(Exception exx) exx.printStackTrace(); ); JMenu jmHelp=new JMenu("帮助"); jmb.add(jmFile); jmb.add(jmFenxi); jmb.add(jmHelp); this.setJMenuBar(jmb); this.getContentPane().add(jta); this.setVisible(true); public void actionPerformed(ActionEvent e) JFileChooser jc=new JFileChooser(); jc.showOpenDialog(this); try File file=jc.getSelectedFile(); FileInputStream fis=new FileInputStream(file); byte buf=new byte10*1024; int len=fis.read(buf); jta.append(new String(buf,0,len); catch(Exception ex) ex.printStackTrace(); public static void main(String args) TestJMenu jmFrame=new TestJMenu(); jmFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 第三个功能import java.io.BufferedReader;import java.io.FileReader;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Fenx public static void main(String args) throws Exception String filterText = new String(); System.out.println(getFilterText(filterText); public static String getFilterText(String filterText) throws Exception List listWord = new ArrayList(); FileReader reader = new FileReader("d:/sensitive.txt"); BufferedReader br = new BufferedReader(reader); String s = null; while (s = br.readLine()!= null) listWord.add(s.trim(); br.close(); reader.close(); Matcher m = null; String str1=new String(); for (int i = 0; i < listWord.size(); i+) int num=0; Pattern p=Ppile(listWord.get(i).toString(),Pattern.CASE_INSENSITIVE); StringBuffer sb = new StringBuffer(); m = p.matcher(filterText); while (m.find() m.appendReplacement(sb, "口"); num+; str1='n'+"敏感词 "+p.toString()+" 出现:"+num+"次" /System.out.println('n'+"敏感词 "+p.toString()+" 出现:"+num+"次"); m.appendTail(sb); filterText = sb.toString(); filterText+=str1; return filterText; 4测试分析图8:编辑菜单中颜色对话框5源程序清单import java.awt.*;import java.awt.event.*;public class Mingan1 public static void main(String args) Frame f1=new Frame("敏感词分析程序"); f1.setBounds(500, 100, 300, 200); f1.setBackground(Color.lightGray); f1.setLayout(new GridLayout(3,1); Panel p1=new Panel(); f1.add(p1); Panel p2=new Panel(); f1.add(p2); Panel p3=new Panel(); f1.add(p3); f1.setVisible(true); Label l1=new Label("请点击输入含有敏感词的文本文件:"); p3.add(l1); Button b1=new Button("确定"); p3.add(b1); b1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) TestJMenu jmFrame=new TestJMenu(); ); Label l2=new Label("敏感词汇保存在sensitive.txt文件中"); p1.add(l2); p2.add(new Label("请查看sensitive.txt文件"); import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.io.File;import java.io.FileInputStream;public class TestJMenu extends JFrame implements ActionListener JTextArea jta=new JTextArea(); TestJMenu() this.setSize(400,300); JMenuBar jmb=new JMenuBar(); JMenu jmFile=new JMenu("文件"); JMenuItem jmiNew=new JMenuItem("新建"); JMenuItem jmiOpen=new JMenuItem("打开"); jmiOpen.addActionListener(this); jmFile.add(jmiNew); jmFile.add(jmiOpen); JMenu jmFenxi=new JMenu("分析"); JMenuItem jmiQue=new JMenuItem("确定"); JMenuItem jmiQu=new JMenuItem("取消"); jmFenxi.add(jmiQue); jmFenxi.add(jmiQu); jmiQue.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String filterText = jta.getText(); try jta.setText(Fenx.getFilterText(filterText); catch(Exception exx) exx.printStackTrace(); ); JMenu jmHelp=new JMenu("帮助"); jmb.add(jmFile); jmb.add(jmFenxi); jmb.add(jmHelp); this.setJMenuBar(jmb); this.getContentPane().add(jta); this.setVisible(true); public void actionPerformed(ActionEvent e) JFileChooser jc=new JFileChooser(); jc.showOpenDialog(this); try File file=jc.getSelectedFile(); FileInputStream fis=new FileInputStream(file); byte buf=new byte10*1024; int len=fis.read(buf); jta.append(new String(buf,0,len); catch(Exception ex) ex.printStackTrace(); public static void main(String args) TestJMenu jmFrame=new TestJMenu(); jmFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); import java.io.BufferedReader;import java.io.FileReader;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Fenx public static void main(String args) throws Exception String filterText = new String(); System.out.println(getFilterText(filterText); public static String getFilterText(String filterText) throws Exception List listWord = new ArrayList(); FileReader reader = new FileReader("d:/sensitive.txt"); BufferedReader br = new BufferedReader(reader); String s = null; while (s = br.readLine()!= null) listWord.add(s.trim(); br.close(); reader.close(); Matcher m = null; String str1=new String(); for (int i = 0; i < listWord.size(); i+) int num=0; Pattern p=Ppile(listWord.get(i).toString(),Pattern.CASE_INSENSITIVE); StringBuffer sb = new StringBuffer(); m = p.matcher(filterText); while (m.find() m.appendReplacement(sb, "口"); num+; str1='n'+"敏感词 "+p.toString()+" 出现:"+num+"次" /System.out.println('n'+"敏感词 "+p.toString()+" 出现:"+num+"次"); m.appendTail(sb); filterText = sb.toString(); filterText+=str1; return filterText; 6课程设计总结经过差不多两个星期的努力,基本上完成我的Java课程设计简单的敏感词汇分析程序,也基本上实现了我在需求分析时所预期的功能。通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中也存在一些问题,本来一开始想给这个文本编辑器程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。参考文献1.孙全党 王吴迪 赵枫朝,Java程序设计应用教程,电子工业出版社,2006.22.雷之宇,Java项目开发实践网络篇,中国铁道出版社,2005.53.赵玉阳,Java从入门到精通,清华大学出版社,2006.84.李茏怡,Java编程实例讲解,高等教育出版社,2005.11完整代码:import java.awt.*;import java.awt.event.*;public class Mingan1 public static void main(String args) Frame f1=new Frame("敏感词分析程序"); f1.setBounds(500, 100, 300, 200); f1.setBackground(Color.lightGray); f1.setLayout(new GridLayout(3,1); Panel p1=new Panel(); f1.add(p1); Panel p2=new Panel(); f1.add(p2); Panel p3=new Panel(); f1.add(p3); f1.setVisible(true); Label l1=new Label("请点击输入含有敏感词的文本文件:"); p3.add(l1); Button b1=new Button("确定"); p3.add(b1); b1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) TestJMenu jmFrame=new TestJMenu(); ); Label l2=new Label("敏感词汇保存在sensitive.txt文件中"); p1.add(l2); p2.add(new Label("请查看sensitive.txt文件"); import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.io.File;import java.io.FileInputStream;public class TestJMenu extends JFrame implements ActionListener JTextArea jta=new JTextArea(); TestJMenu() this.setSize(400,300); JMenuBar jmb=new JMenuBar(); JMenu jm

    注意事项

    本文(java敏感词汇分析.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开