批量xml文件中的字符串替换

mac2025-04-02  19

替换批量xml文件中的内容

替换批量xml文件中的内容1.实现代码

替换批量xml文件中的内容

1.实现代码

package testpackage; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; public class FileRenameTest { private static int count = 0; public static String rename(String infile, String outfile) throws IOException{ //BufferedReader in = new BufferedReader(new FileReader(infile, "UTF-8")); BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(infile), "UTF-8")); // BufferedWriter out = new BufferedWriter(new FileWriter(outfile)); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outfile), "UTF-8")); StringBuffer sb = new StringBuffer(); String s = null; while( (s = in.readLine())!=null){ if(s.length()>=10) for(int i = 10; i <= s.length();){ if(i >= 10 &&s.substring(i-10, i).equalsIgnoreCase("neUbi_work")){ //输出找到的字符串 System.out.println("查找到的字符: " + s.substring(i-10, i)); s = s.replace(s.substring(i-10, i), "newbi"); i += 5; count++; } else if(i >= 11 && s.substring(i-11, i).equalsIgnoreCase("neuods_work")){ //输出找到的字符串 System.out.println("查找到的字符: " + s.substring(i-11, i)); s = s.replace(s.substring(i-11, i), "newods"); i += 5; count++; } else i++; } sb.append(s+"\n"); out.write(s+"\n"); } in.close(); out.close(); return sb.toString(); } public static void fileList(String infile, String outfile) throws IOException{ File path = new File(infile); String[] list = path.list(); String inputFileDir; String outputFileDir; for(String s : list){ inputFileDir = infile + s; outputFileDir = outfile + s; System.out.println("输入文件: " + inputFileDir); System.out.println("输出文件: " +outputFileDir); rename(inputFileDir, outputFileDir); } } // 获取编码格式 gb2312,UTF-16,UTF-8,Unicode,UTF-8 public static String getCode(String path) throws Exception { InputStream inputStream = new FileInputStream(path); byte[] head = new byte[3]; inputStream.read(head); String code = "gb2312"; // 或GBK if (head[0] == -1 && head[1] == -2) code = "UTF-16"; else if (head[0] == -2 && head[1] == -1) code = "Unicode"; else if (head[0] == -17 && head[1] == -69 && head[2] == -65) code = "UTF-8"; inputStream.close(); return code; } public static void main(String[] args) throws IOException { String infile = "C:\\Users\\Administrator\\Desktop\\workspace\\1\"; String outfile= "C:\\Users\\Administrator\\Desktop\\workspace\\2\\"; File file = new File(outfile); file.mkdir(); fileList(infile,outfile); System.out.println(FileRenameTest.count); } }
最新回复(0)