以下是一个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中,理解面向对象编程(OOP)概念是至关重要的。这份资料可能也包含了类和对象的创建,封装、继承和多态性等OOP核心...
王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题
根据给定文件中的四个Java程序例题,我们可以深入解析这些经典问题及其实现方式,从中提炼出相关的IT知识点。下面将逐一分析。 ### 一、斐波那契数列(程序1) #### 1. 问题描述 题目要求计算一个经典的斐波那契...
本资源“java程序设计例题全集”显然是一份涵盖了大学Java程序设计课程中各种实例的集合,旨在帮助学习者深入理解和掌握Java编程。 标题中的“java程序设计例题全集”意味着这份资料包含了大量关于Java编程的实践...
Java编程经典例题 Java作为当今世界广泛使用的编程语言之一,其应用领域广泛,从企业级应用到移动应用开发都有其身影。在Java学习过程中,掌握一系列的经典例题是构建扎实基础的必经之路。本篇文章将详细探讨几个...
王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA例题 王晓东算法设计JAVA例题王晓东算法设计JAVA...
"Java经典例题详解" Java 语言是一种高级的编程语言,应用非常广泛。在 Java 语言入门和进阶过程中,经典例题是非常重要的。下面我们将对 Java 经典例题进行详细的解释和分析。 Java 语言入门 在 Java 语言入门...
面向对象程序设计(Java)第十三章例题代码-J7chapte13面向对象程序设计(Java)第十三章例题代码-J7chapte13面向对象程序设计(Java)第十三章例题代码-J7chapte13面向对象程序设计(Java)第十三章例题代码-J7...
面向对象程序设计(Java)第十五章例题代码-J7chapte15面向对象程序设计(Java)第十五章例题代码-J7chapte15面向对象程序设计(Java)第十五章例题代码-J7chapte15面向对象程序设计(Java)第十五章例题代码-J7...
面向对象程序设计(Java)第十四章例题代码-J7chapte14面向对象程序设计(Java)第十四章例题代码-J7chapte14面向对象程序设计(Java)第十四章例题代码-J7chapte14面向对象程序设计(Java)第十四章例题代码-J7...
面向对象程序设计(Java)第十二章例题代码-J7chapte12面向对象程序设计(Java)第十二章例题代码-J7chapte12面向对象程序设计(Java)第十二章例题代码-J7chapte12面向对象程序设计(Java)第十二章例题代码-J7...
面向对象程序设计(Java)第十一章例题代码-J7chapte11面向对象程序设计(Java)第十一章例题代码-J7chapte11面向对象程序设计(Java)第十一章例题代码-J7chapte11面向对象程序设计(Java)第十一章例题代码-J7...
本资料包是黑马程序员提供的详细教程,涵盖了Java集合的例题、源码以及配套的PPT教学文档,旨在帮助学习者深入理解和掌握Java集合的使用。 首先,我们来探讨Java集合框架的基本概念。Java集合框架包括接口和实现类...
这份压缩包包含了书中各个章节的例题源代码,是学习和理解Java面向对象编程概念的宝贵资源。下面我们将详细探讨这些源代码所涵盖的知识点,并结合Java的核心特性进行解析。 1. **类与对象**:在Java中,一切皆为...
Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性,灵活性和易用性。在Java知识体系中,我们涵盖了许多关键概念,包括IO(输入/输出)、基本可重用类、布局管理器、多线程、哈希表、继承、...
《JAVA学习从150道经典例题突破》这份资源,正是为了满足广大编程初学者这一需求而精心制作的。 本书的编排结构从基础概念入手,逐步向更深层次的内容推进,每一章都围绕着特定的编程主题展开,通过实例帮助学习者...
在这个关于Java的三个项目实战例题中,我们可以深入探讨以下几个核心知识点: 1. **面向对象编程**:Java是完全面向对象的语言,包括封装、继承和多态三大特性。在项目实战中,我们会遇到如何设计类和对象,如何...
【Java编程语言基础】 在Java编程语言中,我们学习的核心概念包括类、对象、封装、...以上知识点在"java讲课ppt内附例题"的资源中可能有所涵盖,通过学习和练习这些内容,你可以深入理解Java编程,并提高编程技能。