Java查找敏感词

今天想要实现查找敏感词的功能,在网上找了之后,看到这篇博客Java实现敏感词过滤
把作者的源码跑了下,遇到了几个问题:

注:敏感词文件里的敏感词为(一个敏感词占一行):
Java查找敏感词_第1张图片

在跑到addSensitiveWordToHashMap这个方法的时候,添加敏感词汇的Map第一个元素中没有key这里写图片描述
所以在查找的时候不能吧段落中含有的第一个敏感词找出来。找了下原因,是因为编码的问题
Java查找敏感词_第2张图片

这里的’\uFEFF’65279就是因为我用txt创建的txt文件,虽然保存为utf-8编码,可是是”UTF-8 with BOM”,我改用sublime保存
Java查找敏感词_第3张图片
现在就可以找出段落的敏感词了。

不过像这段话里面是有3个敏感词的,而查到的却显示只有2个敏感词,
Java查找敏感词_第4张图片

debug了一下,明白为什么了,原来用Set存放敏感词,遇到相同的敏感词就没再放进去,于是我改成List集合存放记录查到的敏感词
Java查找敏感词_第5张图片

代码文件下载:
http://pan.baidu.com/s/1o8Tqkzw

你可能感兴趣的:(java基础)