package com.zdcf.tool; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; /**敏感词过滤器 */ public class SensitiveWordsFilterUtils { /** * 读取文件中的敏感词 */ private static String[] getWords(){ StringBuffer buffer = new StringBuffer(); InputStream is = null; BufferedReader reader = null; String words[] = null; try{ is = SensitiveWordsFilterUtils.class.getResourceAsStream("/words.txt"); reader = new BufferedReader(new InputStreamReader(is, "utf-8")); String line = null; while ((line = reader.readLine()) != null) { buffer.append(line+"\r\n"); } words = buffer.toString().replace("\r\n", ";").split(";"); }catch(Exception e){ e.printStackTrace(); }finally { try{ reader.close(); is.close(); }catch(Exception e){ e.printStackTrace(); } } return words; } /** * 过滤敏感字符 */ public static String filterWords(String words){ String[] filter = getWords(); String result = words; for(String word : filter){ if (result.indexOf(word) != -1) { String stars = ""; for (int j = 0; j < word.length(); j++) stars += '*'; result = result.replace(word, stars); } } return result; } }