import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

 public class TestXML {

public static void objectXmlEncoder(Object obj, String fileName)
 throws FileNotFoundException, IOException, Exception {
// 創建輸出文件
File fo = new File(fileName);
// 文件不存在,就創建該文件
 if (!fo.exists()) {
// 先創建文件的目錄
String path = fileName.substring(0, fileName.lastIndexOf('.'));
File pFile = new File(path);
pFile.mkdirs();
}
// 創建文件輸出流
FileOutputStream fos = new FileOutputStream(fo);
// 創建XML文件對象輸出類實例
XMLEncoder encoder = new XMLEncoder(fos);
// 對象序列化輸出到XML文件
encoder.writeObject(obj);
encoder.flush();
// 關閉序列化工具
encoder.close();
// 關閉輸出流
fos.close();
}

 public static List objectXmlDecoder(String objSource) throws FileNotFoundException, IOException, Exception {
List objList = new ArrayList();
File fin = new File(objSource);
FileInputStream fis = new FileInputStream(fin);
XMLDecoder decoder = new XMLDecoder(fis);
Object obj = null;
 try {
 while ((obj = decoder.readObject()) != null) {
objList.add(obj);
}
 } catch (Exception e) {
}
fis.close();
decoder.close();
return objList;
}

}
|