import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
* 用来过滤不合法字符的攻击类
当要过滤非法字符时通过这个类调用里面的filterWords方法即可
java stream
*
*/
public class StopWord {
private static List<String> stopwords = new ArrayList<>();
//静态代码块  类加载的时候加载  只加载一次
static {
//通过类加载器 到放在根目录下的txt文件
InputStream  inPutStream = ClassLoader().getResourceAsStream("");//放在根目录下的txt文档
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inPutStream));
String str;
try {
while((adLine())!=null){
stopwords.add(str);
}
} catch (IOException e) {
e.printStackTrace();
}
}
//filter方法  把不合法的字符 替换成 *号
public static String filterWords(String content){
for (String stopword : stopwords) {
content = placeAll(stopword, createTemp(stopword));
}
return content;
}
//传入关键字字符串 根据长度返回该长度的*号
private static String createTemp(String stopword) {
StringBuilder sb = new StringBuilder();
for (int i=0;i<stopword.length();i++) {
sb.append("*");
}
String();
}
}