网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.小小日历(calendar).
.回顾Java Beans.
.Sun年底推Solaris 10第一个升级包.
.linux 下使用jasperreport的注意.
.如何使画出来的文字具有不一样的.
.Struts在行动.
.体验J2SE 1.5新特性之增强For循环.
.Struts行为测试框架StrutsTestCa.
.GetFileName 方法.
.整型变量与字节数组的相互转换.
.前车之覆,后车之鉴--开源项目经.
.Java URL编程.
.JBuilder2005 Struts深度体验之概.
.JAVA技术专题综述之内部类篇.
.实例讲解移动QQ在线平台(一).
.带你步入J2EE殿堂:最易懂的J2EE.
.使用技巧:Java实现随机验证码功.
.分享:用Struts上传多个文件的方法.
.Eclipse走向MDA,到达Rational A.
.if...else 语句.

J2SE中的序列化的认识

发表日期:2008-1-5



  Java中处处体现着简单的程序设计风格,序列化作为最常用的功能之一,在java中的设计尤为“简单”。在ObjectInputStream 和ObjectOutputStream的帮助下,我们可以轻松的实现序列化。

  只要我们的class 实现了java.io.Serializable接口,就可以利用ObjectOutputStream的writeObject()方法将一个对象序列化;利用ObjectInputStream的readObject()方法,可以返回读出的object对象。Serializable接口不需要我们实现任何方法。

  以下是一个例子,它能给我们一个感性的熟悉:

  Serial实现了就java.io.Serializable接口,是需要序列化的类。我们首先构造一个Serial的对象serial1然后将其保存(序列化)在一个文件中,而后再将其读出(反序列化),并打印其内容。

    package Stream;

    /**

    * @author favo yang

    */

    import java.io.*;

    public class Serial implements Serializable {

    int company_id;

    String company_addr;

    boolean company_flag;

    public Serial(){}//不同于c++,没有也可以

    public Serial(int company_id,String company_addr,boolean company_flag) {

    this.company_id=company_id;

    this.company_addr=company_addr;

    this.company_flag=company_flag;

    }

  public static void main(String[] args) {

    Serial serial1 = new Serial(752,"dayer street #5 building 02-287",false);//构造一个新的对象

    FileInputStream in=null;

    FileOutputStream out=null;

    ObjectInputStream oin=null;

    ObjectOutputStream oout=null;

  try {

     out = new FileOutputStream("5.txt");

     oout = new ObjectOutputStream(out);

     serial1.serialize(oout);//序列化

     oout.close();

     oout=null;
  in = new FileInputStream("5.txt");

     oin = new ObjectInputStream(in);

     Serial serial2 = Serial.deserialize(oin);//反序列化

     System.out.println(serial2);//打印结果

    } catch (Exception ex){

     ex.printStackTrace();

    } finally{

     try {

      if (in != null) {

       in.close();

      }

      if (oin != null) {
上一篇:虚拟现实之高级技巧(五) 人气:578
下一篇:JDBC连接数据库经验技巧集萃 人气:873
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐