批量转换xml文件的编码格式(GB2312到UTF-8)

说实话不得不抱怨一下了,老师给了一堆xml文件让我解析,用python我弄了几个小时发现编码格式GB2312的转换为utf8的格式就是不行,我也不知道为什么。

于是我放弃用python的方法转换编码格式,采用java的编码格式转换,发现终于可以了,真是想骂人了。

import java.io.File;

import java.io.FileOutputStream;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentException;

import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class test {
	public static void main(String [] args) throws DocumentException, IOException{
		String base_path = "D:\\CEC2.3\\地震\\"; //文件夹的路径
		File file = new File(base_path); 
        for (File f : file.listFiles()) { //获取文件夹下的所有文件
            String[] str = f.getName().split("\\.");
            if(str[str.length-1].equals("xml")){
                SAXReader reader=new SAXReader();
        		String path = base_path+f.getName();//获取单个文件名+路径
        		Document doc=reader.read(new File(path));
        		OutputFormat format=new OutputFormat();
        		format.setEncoding("utf-8");
        		org.dom4j.io.XMLWriter writer=new XMLWriter(new FileOutputStream(path),format);
        		writer.write(doc);
        		writer.close();
            }
        }
	}
	
}

用的是maven:

依赖:

 <dependency>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
          <version>1.6.1</version>
</dependency>

再去文件夹中看文件,发现变成utf-8的编码格式了。

发布了195 篇原创文章 · 获赞 87 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_41479464/article/details/103428957