替换批量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);
}
}