社区网站项目3.1 过滤敏感词

  前缀树:
(1)名称:Trie、字典树、查找树
(2)特点:查找效率高,消耗内存大
(3)应用:字符串检索、词频统计、字符串排序等
  敏感词过滤器:
(1)定义前缀树
(2)根据敏感词,初始化前缀树
(3)编写过滤敏感词的方法
  在resources下新建一个存放敏感词的文件sensitive-words.txt

赌博
嫖娼
吸毒
开票

  在util包下新建一个SensitiveFilter类,加上@Component注解,并加上构造方法后初始化注解@PostConstruct来加载敏感词文件sensitive-words.txt。

@PostConstruct
    public void init() {
        try(
                InputStream is = this.getClass().getClassLoader().getResourceAsStream("sensitive-words.txt"); //放在这个小括号里,编译的时候会自动finally
                //获取类加载文件夹下resources下的sensitive-words.txt
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        ){
            String keyword;
            while((keyword = reader.readLine()) != null){
                // 添加到前缀树
                this.addKeyword(keyword);
            }
        }catch(IOException e){
            logger.error("过滤敏感词文件失败:" + e.getMessage());
        }
    }

你可能感兴趣的:(社区网站)