以下是一个java实现这个功能的小例题:(经测可以能过)
两个个文件words.properties和KeyWordFilter.java;
1、words.properties文件是个文本文件;内容如下:
敏感词一
敏感词二
敏感词三
2、KeyWordFilter.java是个java文件内容如下:
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.Properties;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class KeyWordFilter
{
private static Pattern pattern = null;
// 从words.properties初始化正则表达式字符串
private static void initPattern()
{
StringBuffer patternBuf = new StringBuffer("");
try
{
InputStream in = KeyWordFilter.class.getClassLoader().getResourceAsStream("words.properties");
Properties pro = new Properties();
pro.load(in);
Enumeration enu = pro.propertyNames();
patternBuf.append("(");
while(enu.hasMoreElements())
{
patternBuf.append((String)enu.nextElement()+"|");
}
patternBuf.deleteCharAt(patternBuf.length()-1);
patternBuf.append(")");
//unix换成UTF-8
//pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "UTF-8"));
//win下换成gb2312
pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "gb2312"));/*此处对应开发工具的编码,我的是 getBytes("ISO-8859-1"), "utf-8"))*/
}
catch(IOException ioEx)
{
ioEx.printStackTrace();
}
}
private static String doFilter(String str)
{
Matcher m = pattern.matcher(str);
str = m.replaceAll("");
return str;
}
public static void main(String[] args)
{
String str = "这是敏感词一一个简单敏感词二的filter实例敏感词三";
System.out.println("str:"+str);
initPattern();
Date d1 = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss:SSS Z");
System.out.println("start:"+formatter.format(d1));
System.out.println("共"+str.length()+"个字符,查到" + KeyWordFilter.doFilter(str));
Date d2 = new Date();
System.out.println("end:"+formatter.format(d2));
}
}
输出为:
str:这是敏感词一一个简单敏感词二的filter实例敏感词三
start:星期一, 11 四月 2011 01:28:06:390 +0800
共27个字符,查到:这是一个简单的filter实例
end:星期一, 11 四月 2011 01:28:06:406 +0800
- 大小: 8.7 KB
分享到:
相关推荐
java 例题java 例题java 例题java 例题java 例题java 例题
java,例题,经典
C4.5算法 java实现 详细 界面
7个java小例题,基础的,简单,有益于学习,
王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题
王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA...
java实现学生信息管理系统,有几个例题,数据库实现学生信息管理。
Java面向对象程序设计课本例题源代码 清华大学 耿祥义
配套的课本例题,包括各种小例题,很适合学java的。配套的课本例题,包括各种小例题,很适合学java的。配套的课本例题,包括各种小例题,很适合学java的
这里是关于 Java 的经典的项目实战例题.在电脑上可以直接运行.全都包含原代码
Java案例经编》的全部例题 课本源程序 Java案例经编》的全部例题 课本源程序
JAVA经典程序例题 JAVA经典程序例题
这是java编程经典例题
Java集合例题、例题源码、PPT教学文档(黑马程序员详细版)
java源码150个例题,循序渐进教你学java。
java2实用教程全部例题 希望对自学java的同学有帮助
有IO,java的基本可重用类,布局管理器,多线程,哈希表,继承,可视化界面,内部类,向量,日期时间,等等
该程序采用良好的格式,美观的界面,通俗易懂,本例题是采用多线使一小球在界面不断移动
很多经典例题,调试均可以通过,希望可以帮助到你~