自己上学的时候,经常会看到贴吧里面屏蔽各种用户的发帖内容,当时就想这个该如何去实现。自己当时想过用字符串去替代的方式(replaceAll)去实现,但是这种效率又非常低,也不能保证最长匹配,这就是自己当时最初的想法。最近自己做的一个项目中,需要对一些内容做屏蔽,自己又对这个问题做了一次分析,最终形成下面的代码。最近为了赶项目,注释很少,原谅
转载请标明来源:http://blog.youkuaiyun.com/xiaojimanman/article/details/16852791
/**
*@Description: 屏蔽词功能实现
*/
package cn.yicha.novel.search.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import cn.yicha.novel.search.config.Config;
public class Forbidden {
private static Forbidden forbidden = new Forbidden();
//屏蔽词HashSet
private HashSet<String> keyString = new HashSet<String>();
private final static int maxLength = Character.M