将文本中的所有的敏感词汇替换成*
按行读取文本文件,读取到的字符串中查找是否有敏感词汇,如果有就替换成*,并将这一行字符串写到新的文件中.
敏感词汇自定义
1.创建一个字符输入流和含有脏字的文件相关联,因为要按行读取,所以用BufferedReader,readLine
2.敏感词汇有多个,所以用数组或者是集合存储起来
3.因为要将替换脏字后的每行内容写到一个新的文件中,所以创建字符输出流对象,用BufferedWriter
4.循环读取文件内容
(1)获取当前行
(2)将当前行中的脏字替换成
(3)将过滤脏字后的内容写入到新的文件中
5.关闭流对象,释放资源`
public static void main(String[] args) throws IOException {
//1.创建一个字符输入流和含有脏字的文件相关联,因为要按行读取,所以用BufferedReader,readLine
BufferedReader br = new BufferedReader(new FileReader("old段子.txt"));
//2.敏感词汇有多个,所以用数组或者是集合存储起来
String[] strs = {"别傻了","程序猿","我艹","死光光"};
//3.因为要将替换脏字后的每行内容写到一个新的文件中,所以创建字符输出流对象,用BufferedWriter
BufferedWriter bw = new BufferedWriter(new FileWriter("新段子.txt"));
//4.循环读取文件内容
String line;
while((line=br.readLine())!=null){
//因为脏字有多个,而且存在数组中,所以遍历数组
for(int i=0;i<strs.length;i++){
line = line.replace(strs[i], "***");//字符串内容是不可改变的,所以你要把返回的新字符串从新赋给line
//(这里打错了)
}
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
}
本文介绍了如何利用BufferedReader按行读取文本文件,并检查其中的敏感词汇,将其替换为*,然后将处理后的文本写入新文件。敏感词汇存储在数组或集合中,通过循环读取文件内容,逐行进行替换操作,最终关闭流对象释放资源。
1万+

被折叠的 条评论
为什么被折叠?



