`
lws0402
  • 浏览: 106864 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java过滤关键字

    博客分类:
  • java
阅读更多
KeywordFilter.java:
   1. import java.io.InputStream;  
   2. import java.util.Enumeration;  
   3. import java.util.Properties;  
   4. import java.util.regex.Matcher;  
   5. import java.util.regex.Pattern;  
   6.   
   7. public class KeywordFilter  
   8. {  
   9.     private static Pattern pattern = null;  
  10.   
  11.     private static KeywordFilter filter = new KeywordFilter();  
  12.   
  13.     public static KeywordFilter getInstance()  
  14.     {  
  15.         return (null == filter)?new KeywordFilter():filter;  
  16.     }  
  17.   
  18.     private KeywordFilter()  
  19.     {  
  20.         init();  
  21.     }  
  22.   
  23.     private void init()  
  24.     {  
  25.         StringBuilder stringBuilder = new StringBuilder();  
  26.   
  27.         try  
  28.         {  
  29.             InputStream in = KeywordFilter.class  
  30.                     .getResourceAsStream("keyword.properties");  
  31.   
  32.             Properties pro = new Properties();  
  33.               
  34.             //Thread.sleep(5000);  
  35.   
  36.             pro.load(in);  
  37.   
  38.             Enumeration<?> enu = pro.propertyNames();  
  39.   
  40.             while (enu.hasMoreElements())  
  41.             {  
  42.                 stringBuilder.append(enu.nextElement() + "|");  
  43.             }  
  44.   
  45.             stringBuilder.deleteCharAt(stringBuilder.length() - 1);  
  46.   
  47.             pattern = Pattern.compile(new String(stringBuilder.toString()  
  48.                     .getBytes("ISO-8859-1"), "UTF-8"));  
  49.   
  50.         } catch (Exception ex)  
  51.         {  
  52.             ex.printStackTrace();  
  53.         }  
  54.     }  
  55.   
  56.     public String doFilter(String str)  
  57.     {  
  58.         Matcher m = pattern.matcher(str);  
  59.   
  60.         str = m.replaceAll("***");  
  61.   
  62.         return str;  
  63.     }  
  64.   
  65. }  


keyword.properties文件放在同一目录下,其内容就是要屏蔽的词语的集合,每个词语用“|”分割

如下
暴力|血腥
分享到:
评论

相关推荐

    部分关键字过滤,防止用户使用一些不合理的名称注册

    尤其是如果网站已经有了一定规模,用户输入功能已经遍及各处,而急需对所有输入进行关键字过滤时,上述做法更可谓“远水解不了近渴”。这时候,如果有一个通用的办法,呼得一下为整站的输入加上了一道屏障,那该是一...

    高效关键字过滤java源码

    过滤关键字的时候执行的操作都是hashMap.get,所以效率非常高 具体下载java源码查看 在普通双核三星笔记本上,加载4000个关键字后 1.执行1万次判断是否包含关键字的操作耗时30ms 2.执行1万次替换关键字的操作耗时...

    java日志文件过滤

    自用日志文件过滤软件,写入路径即可用,代码结构清晰、易读。

    关键字过滤

    java编写的匹配关键字,并替换关键字,提供关键字设置,替换敏感词 java编写的匹配关键字,并替换关键字,提供关键字设置,替换敏感词 java编写的匹配关键字,并替换关键字,提供关键字设置,替换敏感词 java编写的...

    java-根据过滤条件显示树形结构

    java根据过滤条件显示树形结构,其中包括所需要的jar包

    六个有用的java过滤器

    六个有用的java过滤器,包括使浏览器不缓存页面的过滤器、检测用户是否登陆的过滤器、字符编码的过滤器、资源保护过滤器、利用Filter限制用户浏览权限、利用Filter过滤非法关键字。

    一键搜索---根据关键字查找文本

    (附源代码)此软件主要是根据关键字查询任何文本,可过滤要查询的文件扩展名、区分大小写、设置查询的文件大小范围,对程序员编程作为辅助工具!

    .Net平台高性能关键字过滤组KFilter.zip

    KFilter是.Net平台高性能的关键字过滤组件,它提供了灵活的过滤机制能自适应大小写,半全角,简繁和分隔符处理等。经测试组件在处理处理6000或更多关键词的情况下单线程每秒可以达到上千万字检索的效能。 关键字...

    .Net平台高性能关键字过滤组KFilter.zip下载

    .Net平台高性能关键字过滤组KFilter.zip下载 KFilter是.Net平台高性能的关键字过滤组件,它提供了灵活的过滤...如ava,java显然不是属于AV这个关键字范围。 使用 KFilter使用起来非常方便,只需要创建Keyword对象即可

    MyFilter.java

    过滤器 过滤关键字 脱敏

    游戏网页过滤程序系统java 语义

    这个程序是用java利用代理服务器机制实现的网页过滤小软件 里边的过滤算法是基于语义的过滤和统计过滤的结合,正确率挺高的,95%以上。 还可以自定义关键字和url过滤 双击.exe 或者 run.bat,都能运行程序

    filter对request请求拦截,对请求参数进行修改

    常用于前台提交表单参数关键字的过滤。此工具可以对参数拦截并转义后提交到对应的处理类。 除了添加两个JsFilter.java和GetHttpServletRequestWrapper.java之外,需要在web.xml添加对应的配置。 &lt;!-- 特殊字符过滤 -...

    毕业设计-基于Java实现搜索引擎设计

    经过对搜索引擎的研究同时与Lucene自身的特性相结合,搜索引擎... (6)显示搜索历史、过滤关键字 内附完整的项目源代码、项目执行截图、项目讲解、毕业设计文档/PPT等完整的毕业设计资料 希望能对你的学习有一点帮助

    java语言搜索引擎的设计与实现(源码+数据库+视频+论文)

    经过对搜索引擎的研究同时与Lucene自身的特性相结合,搜索引擎的设计与实现需要实现的功能阐述如下: ... (6)显示搜索历史、过滤关键字 源码都是经过本人亲测的,都是完整可运行的,数据库版本均为mysql5

    Java基础知识点总结.docx

    过滤器模式 192 组合模式 193 装饰器模式★★★★★ 196 外观模式 201 享元模式 204 代理模式★★★★★ 208 责任链模式 212 命令模式 216 解释器模式 219 迭代器模式 222 中介者模式 224 备忘录模式 226 观察者模式...

    JAVA语言程序设计【高清版】.pdf

    18 第3章 标识符和基本数据类型 19 3.1 Java的基本语法单位 19 3.1.1 空白、注释及语句 19 3.1.2 关键字 21 3.1.3 标识符 21 3.2 Java编码体例 22 3.3 Java的基本数据类型 23 3.3.1 变量和常量 23 ...

    基于java的lucene搜索源码

    1支持桌面文件搜索,格式包括txt、doc、xls和ppt; 2支持分词查询 3支持全文搜索 4能够高亮显示搜索关键字 5显示查询所用的时间 6显示搜索历史、过滤关键字

    使用java实现搜索引擎系统(含数据库).rar

    经过对搜索引擎的研究同时与Lucene自身的特性相结合,搜索引擎的设计与实现需要实现的功能阐述如下: (1)支持桌面文件搜索,格式包括txt、doc、xls和ppt; (2)支持分词查询 ... (6)显示搜索历史、过滤关键字

    基于Java的搜索引擎的源码实现sql数据库.rar

    (6)显示搜索历史、过滤关键字 基于Java的搜索引擎的源码实现sql数据库(附带项目源码+sql数据库+项目截图+毕业论文等资料) 分词查询与全文搜索这两项功能,我们都可以利用Lucene本身自带的库加上相关算法就...

Global site tag (gtag.js) - Google Analytics