java操作题_JavaIO操作题?

IO操作。问题描述程序功能:在网络传输过程中,对象数据往往需要进行序列化操作,即将对象序列化为byte数组,同时也需要反序列化操作将byte数组转化为对象。下面程序中定义了一个Stud...

IO操作。

问题描述

程序功能:在网络传输过程中,对象数据往往需要进行序列化操作,即将对象序列化为byte数组,同时也需要反序列化操作将byte数组转化为对象。下面程序中定义了一个Student类,在该类中已经实现了反序列化操作,请完成序列化的操作代码。

程序结构如下

import java.io.*;

class Student {

int stuNo; // 学号

String name; // 姓名

String sex;// 性别

int age;// 年龄

String grade;// 年级

String classname;// 班级

public Student(int stuNo, String name, String sex, int age, String grade, String classname) {

this.stuNo = stuNo;

this.name = name;

this.sex = sex;

this.age = age;

this.grade = grade;

this.classname = classname;

}

// 反序列化操作

public static Student GetStudent(byte[] byteStudent) {

try {

ByteArrayInputStream bais = new ByteArrayInputStream(byteStudent);

DataInputStream dis = new DataInputStream(bais);

int stuNo = dis.readInt();

String name = dis.readUTF();

String sex = dis.readUTF();

int age = dis.readInt();

String grade = dis.readUTF();

String classname = dis.readUTF();

return new Student(stuNo, name, sex, age, grade, classname);

} catch (Exception ex) {

return null;

}

}

// 序列化操作,请完成

public byte[] GetBytes() {

// 补充此处代码

}

}

public class Exam2 {

public static void main(String args[]) {

Student stu = new Student(20090223, "java", "man", 21, "三年级", "2班");

byte[] bytestu = stu.GetBytes();

Student stul = Student.GetStudent(bytestu);

System.out.println(stul.stuNo);

}

}

程序要求

1.实现序列化代码

展开

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值