java writeobject_关于java 这个程序中的writeObject()和readObject()方法怎么调用的!...

郁闷就是看不明白UsrTester类中的writeObject()和readObject()怎么起作用的!!packageiolc;importjava.io.*;publicclassUserTesterimplementsSerializable{privatestaticfinallongse...

郁闷就是看不明白UsrTester类中的writeObject()和readObject()怎么起作用的!!

package iolc;

importjava.io.*;

public class UserTester implements Serializable {

private static final long serialVersionUID = -5482654093968922731L;

private String name;

private transient String password;

public UserTester(String name,String password){

this.name=name;

this.password=password;

}

public String toString(){

return name+" "+password;

}

private byte[] change(byte[] buff){

for(int i=0;i

int b=0;

for(int j=0;j<8;j++){

int bit=(buff[i]>>j&1)==0?1:0;

b+=(1<

}

buff[i]=(byte)b;

}

return buff;

}

private void writeObject(ObjectOutputStream stream)throws IOException{

stream.defaultWriteObject();

stream.writeObject(change(password.getBytes()));

}

private void readObject(ObjectInputStream stream)throws IOException,ClassNotFoundException{

stream.defaultReadObject();

byte[] buff=(byte[])stream.readObject();

password=new String(change(buff));

}

public static void main(String args[])throws Exception{

UserTester userter=new UserTester("tom","123455789456");

System.out.println("Before Serialization:"+userter);

ByteArrayOutputStream buf=new ByteArrayOutputStream();

ObjectOutputStream o=new ObjectOutputStream(buf);

o.writeObject(userter);

ObjectInputStream in=new ObjectInputStream(new ByteArrayInputStream(buf.toByteArray()));

userter=(UserTester)in.readObject();

System.out.println("After Serialization:"+ userter);

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值