Java中基本数据典范与流的操作办法[Java编程]
本文“Java中基本数据典范与流的操作办法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java中除了二进制文件和利用文本文件外还有基于Data的数据操作,这里的Data指的是Java的基本数据范例和String.基本数据范例包含byte、int、char、long、float、double、boolean和short.
说到Java的基本数据范例必须谈到的两个类是DataInputStream和DataOutputStream.它们供应了对Java基本数据范例的操作,但是这些办法事实上是在两个重要的接口中定义的DataInput和DataOutput,它们的功效就是把二进制的字节俭转换成Java的基本数据范例,同时还供应了从数据中利用UTF-8编码构建String的功效.有一个重要的类RandomAccessFile实现了DataInput和DataOutput两个接口使得他可以对文件同时举行写和读的操作.
在DataInputStream和DataOutputStream两个类中的办法都很简单,基本构造为readXXXX()和writeXXXX()此中XXXX代表基本数据范例大概String.在这里不多报告,不过值得一提的是我们有必要读读java中unicode的编码法则,在API doc中有对比具体的介绍.普通我们的对象有很多都是由java的基本数据范例构成的,比方一个人的信息包含姓名,电子信箱,电话号码和性别等.其实我们可以用DataInputStream中的办法和DataOutputStream中的办法按照一定的序列把数据写入流中再按照相同的序列把他们读取出来,这就是我们自己实现的序列化,这可以用在数据传输中,比方在J2ME联网程序中利用序列化机制传输数据.下面我们看看若何自己实现序列化,首先我们要有两个构造函数此中一个参数为空.
public Account()
{
}
public Account(String userName, String email, int age, boolean gender)
{
this.userName = userName;
this.email = email;
this.age = age;
this.gender = gender;
}
当我们举行序列化的时刻也很简单,我们只是往DataOutputStream中按照次序写入对象的成员变量.比方:
public void serialize(DataOutputStream dos) throws IOException
{
dos.writeUTF(userName);
dos.writeUTF(email);
dos.writeInt(age);
dos.writeBoolean(gender);
}
当我们举行反序列化的时刻则按照相同的次序从DataInputStream里面读取数据并赋值给成员变量.比方:
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;
}
为了便于调试我们还供应一个toString()的办法打印出对象的实际信息.这是个好的习惯.
public String toString()
{
return "UserName = " + userName + " Email = " + email + " age = " + age + " gender = " + (gender ? "male" : "female");
}
以上是“Java中基本数据典范与流的操作办法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |