服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

通过java套接字传递对象

ad_qqread_mid_big">序列化用户自己的类

  现在,让我们看看如何序列化用户自己写的类。在这个例子中,我们将建立一个用户类userinfo,见例程3。为了让它可序列化,userinfo类实现了serializable接口。

  例程 3: userinfo.java

import java.io.*;
import java.util.*;

public class userinfo implements serializable {
string name = null;

public userinfo(string name) {
this.name = name;
}

public void printinfo() {
system.out.println("the name is: "+name);
}
}

  下一步就是建立一个能创建userinfo类实例的类,然后将对象写入输出流中,如例程4。本例中的输出流是一个名为"name.out"的文件。要注意的是,例程4 中的writeobject方法可以被调用任意多次,将任意多个对象写入输出流。

  例程 4: saveinfo.java

import java.io.*;
import java.util.date;

public class saveinfo {

public static void main(string argv[]) throws exception {
fileoutputstream fos = new fileoutputstream("name.out");
objectoutputstream oos = new objectoutputstream(fos);
// create two objects
userinfo user1 = new userinfo("java duke");
userinfo user2 = new userinfo("java blue");
// write the objects to the output stream
oos.writeobject(user1);
oos.writeobject(user2);
oos.flush();
oos.close();
fos.close();
}
}

  最后,我们写一个将已经保存的对象读入的类,并且调用一个如例程5所示的方法。和writeobject 一样,readobject方法能被调用任意多次,从输入流中读入任意多个对象。

  例程 5: readinfo.java

import java.io.*;
import java.util.date;

public class readinfo {

public static void main(string argv[]) throws exception {
fileinputstream fis = new fileinputstream("name.out");
objectinputstream ois = new objectinputstream(fis);
// read the objects from the input stream (the file name.out)
userinfo user1 = (userinfo) ois.readobject();
userinfo user2 = (userinfo) ois.readobject();
// invoke a method on the constructed object
user1.printinfo();
user2.printinfo();
ois.close();
fis.close();
}
}

  要测试这个例子,请编译如下源文件:userinfo.java, saveinfo.java, 和 readinfo.java。运行 saveinfo,然后运行readinfo,将看到类似下面的输出结果:

  the name is: java duke
  the name is: java blue

>>>更多专题请看java对象专题
上一页 1 2 
相关内容:虚拟机  通信  服务器  os  java  
【收藏此页】【大 中 小】【打印】【关闭】
上一篇:利用java1.1实现zip方式的压缩/解压缩方法
下一篇:图解jdeveloper 10g快速开发会话ejb


10万个软件免费高速下载
教育教学 安全相关 游戏娱乐 源码下载 编程开发 数码软件 其它类别
网络软件 联络聊天 系统工具 媒体工具 图形图像 应用软件 行业软件
·java: jni完全手册
·java reflection (java反射)详解
·java连接数据库谈
·深入java字节码加密
·java虚拟机类装载:原理、实现与应用
·java反编译的研究
·jsp与java mail api
·让界面更加绚丽 java se 6.0 gui体验
·为什么是java ee 5
·使用java 输出/输出流读写数据
 
·接口和抽象类的定义方式举例说明
·用maven制作java项目发行包
·java 基础入门 pom.xml 元素描述
·用jbuilder2007开发扩展jsf标签的插
·抽象类对象类和对象包装类
·使用java实现在文件中添加字符串
·instanceof和回调概念
·java变量的赋值与传递
·java se6调用java编译器的两种新方法
·weblogic运用db的java控件访问数据库

扫描关注微信公众号