源代码如下:
package com.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import net.sf.json.JSON; import net.sf.json.JSONSerializer; import net.sf.json.xml.XMLSerializer; public class JSON2XML { private String mJSONSource; private String mXML; private String mPath = "C:\\Users\\i042416\\Desktop\\1.txt"; private String mSavedXML = "C:\\Users\\i042416\\Desktop\\image.xml"; private void getSource(String name) throws IOException { File file = new File(mPath); FileInputStream inputStream = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); char[] buffer = new char[(int) file.length()]; reader.read(buffer, 0, buffer.length); inputStream.close(); mJSONSource = new String(buffer); //System.out.println("String length: " + mJSONSource); } public void run() throws IOException { getSource(mPath); parse(); saveFile(); } private void parse() { JSON json = JSONSerializer.toJSON(mJSONSource); XMLSerializer xmlSerializer = new XMLSerializer(); xmlSerializer.setTypeHintsEnabled( false ); xmlSerializer.setRootName("body" ); mXML = xmlSerializer.write( json ); System.out.println(mXML); } private void saveFile() { try { FileOutputStream fos=new FileOutputStream(new File(mSavedXML)); OutputStreamWriter osw=new OutputStreamWriter(fos); osw.write(mXML); osw.flush(); osw.close(); } catch(Exception ee) { ee.printStackTrace(); } } static public void main(String[] argc) throws IOException { JSON2XML tool = new JSON2XML(); tool.run(); } }