当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:17:00  来源:本站整理

根究类[Java编程]

赞助商链接



  本文“根究类[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
读者大概会奇特为什么需求一个对象从它的序列化状况中恢复.举个例子来说,假定我们序列化一个对象,并通过网络将其作为文件传送给另一台机械.此时,位于另一台机械的程序可以只用文件目录来重新构造这个对象吗?
答复这个问题的最好办法就是做一个实行.下面这个文件位于本章的子目录下:
//: Alien.java
// A serializable class
import java.io.*;

public class Alien implements Serializable {
} ///:~

用于成立和序列化一个Alien对象的文件位于相同的目录下:
//: FreezeAlien.java
// Create a serialized output file
import java.io.*;

public class FreezeAlien {
  public static void main(String[] args) 
      throws Exception {
    ObjectOutput out = 
      new ObjectOutputStream(
        new FileOutputStream("file.x"));
    Alien zorcon = new Alien();
    out.writeObject(zorcon); 
  }
} ///:~

该程序并非捕捉和掌握违例,而是将违例简单、直接地传送到main()外部,这样便能在号令行报告它们.
程序编译并运行后,将后果产生的file.x复制到名为xfiles的子目录,代码以下:
//: ThawAlien.java
// Try to recover a serialized file without the 
// class of object that's stored in that file.
package c10.xfiles;
import java.io.*;

public class ThawAlien {
  public static void main(String[] args) 
      throws Exception {
    ObjectInputStream in =
      new ObjectInputStream(
        new FileInputStream("file.x"));
    Object mystery = in.readObject();
    System.out.println(
      mystery.getClass().toString());
  }
} ///:~
该程序能翻开文件,并成功读取mystery对象中的内容.但是,一旦尝试查找与对象有关的任何资料——这要求Alien的Class对象——Java虚拟机(JVM)便找不到Alien.class(除非它恰好在类途径内,而本例理应相反).这样就会得到一个名叫ClassNotFoundException的违例(一样地,若非可以校验Alien存在的证据,不然它等于消逝).
恢复了一个序列化的对象后,假如想对其做更多的事情,必须保证JVM能在本地类途径大概因特网的其他什么地方找到相关的.class文件.
  以上是“根究类[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 根究类
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .