说实话不得不抱怨一下了,一堆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的编码格式了。