<b>通过java套接字传送对象</b>[Java编程]
本文“<b>通过java套接字传送对象</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
利用JavaTM远程办法调用(RMI),可以很便利地开辟分布式的基于对象的利用程序.RMI的简单性,是由网络通信的费用作为代价的.底层的套接字可以用来开辟客户/服务器系统,但是由于大大都Java I/O类和对象不太简单匹配,若何通过套接字传送完成的对象呢?对象序列化是一个答应您以比特流方法读/写完成对象的机制.
将底层的套接字和对象序列化结合在一同,您将得到一个强盛的、高效的、可替换RMI的机制,通过套接字来传送对象还能降服利用RMI的高费用的问题.
对象序列化概述
对象序列化机制关于需求将对象的状况保存到文件中,此后可以通过读入对象状况来重新构造对象,恢复程序状况,大概利用套接字在网络上传送对象的程序来说,是很有效的.通过让类实现java.io.Serializable 接口可以将类序列化.这个接口是一个制造者(marker)接口.也就是说,关于要实现它的类来说,该接口不需求实现任何办法.它主要用来告诉Java虚拟机(JVM),需求将一个对象序列化.
将对象读出大概写入流的主要类有两个: ObjectOutputStream与ObjectInputStream .ObjectOutputStream 供利用来将对象写入输出流的writeObject办法, ObjectInputStream供应从输入流中读出对象的readObject办法.注意利用这些办法的对象必须被序列化,这非常重要.也就是说,这些类必须实现Serializable接口.
序列化已经存在的类
理解了对象序列化的底子知识之后,我们来看看若何对流读/写对象或现有的已序列化类实例.要将一个对象写入输出流,先成立一个输出流,然后利用writeObject对象保存到文件中.
--------------------------------------------------------------------------------
注意: Date类是可序列化的.换句话说,它实现 Serializable接口.
--------------------------------------------------------------------------------
例程 1: SaveDate.java
import java.io.*;
读入对象,然后重新构造它的状况都很简单.例程2中的代码向您展示了若何读一个已经序列化的对象并且打印它的信息.
import java.util.Date;
public class SaveDate {
public static void main(String argv[]) throws Exception {
FileOutputStream fos = new FileOutputStream("date.out");
ObjectOutputStream oos = new ObjectOutputStream(fos);
Date date = new Date();
oos.writeObject(date);
oos.flush();
oos.close();
fos.close();
}
}
例程 2: ReadDate.java
import java.io.*;
import java.util.Date;
public class ReadDate {
public static void main(String argv[]) throws Exception {
FileInputStream fis = new FileInputStream("date.out");
ObjectInputStream ois = new ObjectInputStream(fis);
Date date = (Date) ois.readObject();
System.out.println("The date is: "+date);
ois.close();
fis.close();
}
}
以上是“<b>通过java套接字传送对象</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |