當前位置:首頁 » 編程語言 » stringtoxmljava

stringtoxmljava

發布時間: 2024-08-11 06:25:50

java中怎麼把list的信息寫入到xml

package com.imct.util;
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;
/**
* <title>使用XML文件存取可序列化的對象的類</title>
* <description>提供保存和讀取的方法</description>
* @author 殷晉
* <right>清華大學汽車工程開發研究院@2005</right>
* @version 1.0
* 2005-8-5 16:44:49
*/
public class ObjectToXMLUtil
{
/**
* 把java的可序列化的對象(實現Serializable介面)序列化保存到XML文件裡面,如果想一次保存多個可序列化對象請用集合進行封裝
* 保存時將會用現在的對象原來的XML文件內容
* @param obj 要序列化的可序列化的對象
* @param fileName 帶完全的保存路徑的文件名
* @throws FileNotFoundException 指定位置的文件不存在
* @throws IOException 輸出時發生異常
* @throws Exception 其他運行時異常
*/
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();
}
/**
* 讀取由objSource指定的XML文件中的序列化保存的對象,返回的結果經過了List封裝
* @param objSource 帶全部文件路徑的文件全名
* @return 由XML文件裡面保存的對象構成的List列表(可能是一個或者多個的序列化保存的對象)
* @throws FileNotFoundException 指定的對象讀取資源不存在
* @throws IOException 讀取發生錯誤
* @throws Exception 其他運行時異常發生
*/
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)
{
// TODO Auto-generated catch block
}
fis.close();
decoder.close();
return objList;
}
}

熱點內容
國外安卓音樂播放器哪個好 發布:2024-11-25 16:35:58 瀏覽:142
我的世界伺服器增加粒子 發布:2024-11-25 16:28:29 瀏覽:717
帶內核的安卓x86是什麼意思 發布:2024-11-25 16:27:01 瀏覽:272
php了解 發布:2024-11-25 16:16:26 瀏覽:933
個人搭建伺服器要錢不 發布:2024-11-25 16:06:56 瀏覽:832
伺服器磁碟滿了怎麼辦 發布:2024-11-25 16:06:14 瀏覽:19
python代碼文本分類 發布:2024-11-25 16:05:22 瀏覽:224
加密cf備份 發布:2024-11-25 16:05:21 瀏覽:442
java加鎖 發布:2024-11-25 15:50:26 瀏覽:397
電信營業廳安卓文件夾是哪個 發布:2024-11-25 15:40:14 瀏覽:498