1、序列化(反序列化)对象:
/**
* 序列化对象
* @Date 2021年1月11日下午4:11:30
* @Author yuanyong
* @Description
*/
public byte[] serializeObject(Object object) {
ObjectOutputStream oos = null;
ByteArrayOutputStream baos = null;
try {
// 序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
oos.writeObject(object);
byte[] bytes = baos.toByteArray();
return bytes;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
baos.close();
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/**
* 反序列化对象
* @Date 2021年1月11日下午4:12:05
* @Author yuanyong
* @Description
*/
public Object unserializeObject(byte[] bytes) {
ByteArrayInputStream bais = null;
ObjectInputStream ois = null;
try {
// 反序列化
bais = new ByteArrayInputStream(bytes);
ois = new ObjectInputStream(bais);
return ois.readObject();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bais.close();
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
2、序列化(反序列化)对象数组:
/**
* 集合序列化
* @Date 2021年1月11日下午5:00:09
* @Author yuanyong
* @Description
*/
public byte[] serializeListObject(List<?> object) {
ObjectOutputStream oos = null;
ByteArrayOutputStream baos = null;
try {
// 序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
//oos.writeObject(object);
for(Object obj : object){
oos.writeObject(obj);
}
byte[] bytes = baos.toByteArray();
return bytes;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
baos.close();
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/**
* 集合反序列化
* @Date 2021年1月11日下午5:00:21
* @Author yuanyong
* @Description
*/
public List<Object> unserializeListObject(byte[] in) {
List<Object> list = new ArrayList<>();
ByteArrayInputStream bis = null;
ObjectInputStream is = null;
try {
if(in != null) {
bis=new ByteArrayInputStream(in);
is=new ObjectInputStream(bis);
while (bis.available() > 0) {
Object obj= is.readObject();
if(obj == null){
break;
}else{
list.add(obj);
}
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
is.close();
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return list;
}
网友评论