速学堂(java)第十章编程题答案(自写)
1. 实现字节数组和任何基本类型和引用类型执行的相互转换
提示:使用ByteArrayInutStream和ByteArrayOutputStream。
package com.sxt.io;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/**
* 实现字节数组和任何基本类型和引用类型执行的相互转换
* 提示:使用ByteArrayInutStream和ByteArrayOutputStream。
* @author ASUS
*
*/
public class lianxi01 {
public static void main(String[] args) throws ClassNotFoundException, IOException {
int num = 18;
boolean flag = true;
User user = new User("gq","sxt",18);
test01(num,flag,user);
}
public static void test01(int num,boolean flag,User user) throws IOException, ClassNotFoundException{
//基本类型,引用数据类型--->字节数组
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeInt(num);
oos.writeBoolean(flag);
oos.writeObject(user);
byte[]datas = bos.toByteArray();
//先开后关
oos.close();
bos.close();
//字节数组--->基本类型,引用数据类型
ByteArrayInputStream bis = new ByteArrayInputStream(datas);
ObjectInputStream ois = new ObjectInputStream(bis);
int num1 = ois.