[Java] Java序列化将一个对象的内容保存到文件和从文件读取对象

[Java] Java序列化将一个对象的内容保存到文件和从文件读取对象

Java中将一个对象的内容保存到文件和从文件读取对象

在看KEA的代码中时发现它这么做:

public class KEAModelBuilder implements OptionHandler {
/** The KEA filter object */
KEAFilter  m_KEAFilter = null; // KEAFilter 类型的对象是 KEAModelBuilder 类的成员变量

        //在运行Java程序时如果我们需要保存一个对象的所有内容到文件,可以这样做:

/** 
 * Saves the extraction model to the file.
 */
public void saveModel() throws Exception {
BufferedOutputStream bufferedOut = 
new BufferedOutputStream(new FileOutputStream( m_modelName)); // 文件路径
ObjectOutputStream out = new ObjectOutputStream(bufferedOut);
out.writeObject( m_KEAFilter );
out.flush();
out.close();
}


        //从文件中加载信息到对象,可以这么做:
/** 
 * Loads the extraction model from the file.
 */
public void loadModel() throws Exception {
BufferedInputStream inStream =
new BufferedInputStream(new FileInputStream( m_modelName)); // 文件路径
ObjectInputStream in = new ObjectInputStream(inStream);
m_KEAFilter  = (KEAFilter)in.readObject();
in.close();
}
}

这样,当调用 KEAModelBuilder  的 saveModel() 方法可以将对象  m_KEAFilter  的全部信息写入文件当中. 调用 loadModel() 方法可以从文件读取对象的信息. 然后就可以正常使用  m_KEAFilter  对象了. 十分方便.

该方法值得借鉴.








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值