Java中基本数据类型与流(2)
package com.j2medev.mingjava;
import java.io.*;
public class TestDataIO
{
public static void main(String[] args) throws IOException
{
Account account = new Account("mingjava","eric.zhan@263.net",25,true);
System.out.println("before serialization.........");
System.out.println(account.toString());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
account.serialize(dos);
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(baos.toByteArray()));
Account sAccount = Account.deserialize(dis);
System.out.println("after serialization..........");
System.out.println(sAccount.toString());
dos.close();
dis.close();
}
}
package com.j2medev.mingjava;
import java.io.*;
public class Account
{
private String userName = "";
private String email = "";
private int age = 0;
private boolean gender = false;
public Account()
{}
public Account(String userName, String email, int age, boolean gender)
{
this.userName = userName;
this.email = email;
this.age = age;
this.gender = gender;
}
public void serialize(DataOutputStream dos) throws IOException
{
dos.writeUTF(userName);
dos.writeUTF(email);
dos.writeInt(age);
dos.writeBoolean(gender);
}
public static Account deserialize(DataInputStream dis) throws IOException
{
Account account = new Account();
account.userName = dis.readUTF();
account.email = dis.readUTF();
account.age = dis.readInt();
account.gender = dis.readBoolean();
return account;
}
public String toString()
{
return "UserName = " + userName + " Email = " + email + " age = " + age + " gender = " + (gender ? "male" : "female");
}
}
编译运行程序在控制台输出:
before serialization.........
UserName = mingjava Email = eric.zhan@263.net age = 25 gender = male
after serialization..........
UserName = mingjava Email = eric.zhan@263.net age = 25 gender = male
序列化成功,后面我将讲述如何在J2ME联网中使用序列化机制。
- 上一篇:Java 5.0 多线程编程实践
- 下一篇:Java多线程编程之限制优先级