javaÐòÁл¯Óë·´ÐòÁл¯
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;
/*******************************************************************************
* ÐòÁл¯¶ÔÏóµ½xmlÎļþ
*
* @author zzbk_c8
*
*/
public class ObjectToXMLUtil {
/***************************************************************************
* ÐòÁл¯·½·¨
*
* @param objÐòÁл¯¶ÔÏó
* @param fileName´æ·ÅµØÖ·
*/
public static void objectXmlEncoder(Object obj, String fileName) {
// ´´½¨Îļþ
File file = new File(fileName);
// ÅжÏÎļþÊÇ·ñ´æÔÚ£¬Èç²»´æÔÚ´´½¨
if (!file.exists()) {
// ÏÈ´´½¨ÎļþĿ¼
File filePath = new File(fileName.substring(0, fileName
.lastIndexOf("/")));
filePath.mkdirs();
}
try {
// ´´½¨ÎļþµÄÊä³öÁ÷
FileOutputStream out = new FileOutputStream(fileName);
// ´´½¨XMLÎļþ¶ÔÏóÊä³öÀà
XMLEncoder xmlEncoder = new XMLEncoder(out);
// ÀûÓÃxml¶ÔÏóÊä³öÀàÊä³ö¶ÔÏóµ½xmlÎļþ
xmlEncoder.writeObject(obj);
xmlEncoder.flush();
// ¹Ø±ÕÊä³ö¶ÔÏó
xmlEncoder.close();
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("ÎļþÊä³öÁ÷¹Ø±Õ´íÎó");
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("ÎļþÊä³öÁ÷´´½¨Ê§°Ü");
e.printStackTrace();
}
}
/***************************************************************************
* ·´ÐòÁл¯
*
* @param objSource
* xmlÎļþ£¬·´ÐòÁл¯ÄÚÈÝ
* @return ·µ»Ø¼¯ºÏ
*/
public static List objectXmlDecoder(String objSource) {
// ÓÃÓÚ½ÓÊÕ´ÓxmlÖз²ÐòÁл¯³öÀ´µÄ¼¯ºÏ
List objList = new ArrayList();
// »ñÈ¡xml¶ÔÏóÎļþ×ÊÔ´£¨·´Ðò
Ïà¹ØÎĵµ£º
¸Õ¸ÕÔËÐÐjava HelloWorld.class£¬ÀÏÊÇ˵£º
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
Caused by: java.lang.ClassNotFoundException: HelloWorld.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  ......
Òë×¢
£º±¾ÎÄÀ´×Ôstraight_talking_java@yahoogroups.comÌÖÂÛ×飬ÒѾÊÇÒ»Äê¶àÇ°
µÄÎÄÕ¡£Alan WilliamsonÊÇJava Developers
JournalµÄ±à¼£¬ÏÂÎÄÀ´×ÔËûÔÚIBMµÄÒ»¸öÏûÏ¢À´Ô´¡£SWTºÍSwingµÄÂÛÕùÎÒ¼û¹ý²»ÉÙ£¬NetbeansºÍEclipseµÄҲͬÑù¶à¡£ÒëÕß·Òë
´ËÎIJ¢²»ÊÇÒª¼¤ÆðʲôÕùÖ´£¬Ò²²»ÊÇÖ§³ÖÄÄÒ»·½£¨ËäÈ»ÎÒµÄÈ·ÊÇÕ¾ÔÚSWTÒ»±ßµ ......
l×é¼þ´Ó¹¦ÄÜÉÏ·Ö¿É·ÖΪ£º
1) ¶¥²ãÈÝÆ÷£ºJFrame,JApplet,JDialog,JWindow
2) ÖмäÈÝÆ÷£ºJPanel,JScrollPane,JSplitPane,JToolBar¡¡
3) ÌØÊâÈÝÆ÷£ºÔÚGUIÉÏÆðÌØÊâ×÷ÓõÄÖмä²ã£¬ÈçJInternalFrame,JLayeredPane,JRootPane.
1.JFrameµÄÓ÷¨
1) ÓÃgetContentPane( )·½·¨»ñµÃJFrameµÄ ......
package com.kiloway.trace.utils;
import java.lang.reflect.Field;
/**
* @author Zhang Qi
* @Create Time 2010/01/09
* */
public class ObjectToXML {
public String toString(Object object) throws Exception {
StringBuilder sb = new StringBuilder();
//µÃµ½ÀàµÄÃû³Æ
String classname = obj ......