package njnu.tools;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import njnu.action.CultureSearch;
import java.util.Iterator;
public class FilterCharacter {
public void ChangeFilterCharacter(String str) throws Exception{
//为空时,不执行
if(str.equals("")) {
System.out.println("内容不能为空,请输入内容");
return;
}
//过滤特殊字符
String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
String sm = m.replaceAll("").trim();//已过滤特殊字符
System.out.println(sm);
//读取txt文件
List<String> arr = new ArrayList<String>();
File f= new File(CultureSearch.class.getClassLoader().getResource("mingancihui.txt").getPath());//获取src下的txt文件的路径
System.out.println(f);
InputStreamReader read = null;
BufferedReader bufferedReader = null;
String tx = null;
read = new InputStreamReader(new FileInputStream(f), "utf-8");
bufferedReader = new BufferedReader(read);
while((tx = bufferedReader.readLine()) != null){
arr.add(tx);
}
read.close();
bufferedReader.close();
Iterator<String> it = arr.iterator();
while(it.hasNext()) {
if(sm.equals(it.next())){
System.out.println("包含敏感词汇,请重新输入!");
return;
}
}
System.out.println("成功了");
}
public static void main(String[] args) throws Exception {
long startTime=System.currentTimeMillis();
String str = "苍井空***";
FilterCharacter CF = new FilterCharacter();
CF.ChangeFilterCharacter(str);
long endTime=System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间: "+(endTime-startTime)+"ms");
}
}
Tools(直接读取项目src包中的TXT文件,而不是读本地的TXT文件,并过滤特殊字符)
最新推荐文章于 2024-03-18 08:00:00 发布