java-读取文件,过滤敏感字符后生成新文件

xiaoxiao2021-02-28  66

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.InputStreamReader; import java.util.Properties; //功能:读取文件,过滤敏感字符后生成新文件 public class ChangeStr { public static void main(String[] args) { File file = new File("Stream.txt");//指定任意路径的源文件 ClassLoader loader = Thread.currentThread().getContextClassLoader(); InputStreamReader inStream = null; try { //指定源敏感字符集,使用相对路径-相对于classpath的根路径(字节码输出目录),即bin路径下,注意编码格式 inStream = new InputStreamReader(loader.getResourceAsStream("changeStr.properties"), "UTF-8"); } catch (Exception e) { e.printStackTrace(); } changeStr(file, inStream); } private static void changeStr(File file, InputStreamReader inStream) { try ( BufferedReader in = new BufferedReader(new FileReader(file)); BufferedWriter out = new BufferedWriter(new FileWriter("E:/copy/" + file.getName())))//指定生成新文件的路径 { Properties p = new Properties(); p.load(inStream);//加载敏感字符集 String tmp = null; while ((tmp = in.readLine()) != null) { for (int i = 1; i <= p.size(); i++) { String str1 = p.getProperty("" + i); if (tmp.indexOf(str1) != -1) //判断是否含敏感字符 { int k = str1.length(); String s1 = ""; for (int j = 0; j < k; j++) { s1 = s1 + "*"; } tmp = tmp.replaceAll(str1, s1);//替换敏感字符为** } } out.write(tmp); out.newLine(); } } catch (Exception e) { e.printStackTrace(); } } } #key=value,".properties" 1=妈蛋 2=卧槽 3=尼玛 4=草泥马
转载请注明原文地址: https://www.6miu.com/read-42513.html

最新回复(0)