@SuppressWarnings("unchecked")
/** 深度复制 */
public static <T> T deepClone(T o){//将对象写到流里
try {
ByteArrayOutputStream bo=new ByteArrayOutputStream();
ObjectOutputStream oo;
oo = new ObjectOutputStream(bo);
oo.writeObject(o);//从流里读出来
ByteArrayInputStream bi=new ByteArrayInputStream(bo.toByteArray());
ObjectInputStream oi=new ObjectInputStream(bi);
return (T) oi.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static String object2String(Object o){//将对象转换为string
try {
ByteArrayOutputStream bo=new ByteArrayOutputStream();
ObjectOutputStream oo;
oo = new ObjectOutputStream(bo);
oo.writeObject(o);//从流里读出来
return new String(bo.toByteArray(), "ISO8859-1");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static byte[] object2Bytes(Object o){//将对象写到byte数组里
try {
ByteArrayOutputStream bo=new ByteArrayOutputStream();
ObjectOutputStream oo;
oo = new ObjectOutputStream(bo);
oo.writeObject(o);//从流里读出来
return bo.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static Object string2Object(String data){
try {
ByteArrayInputStream bi=new ByteArrayInputStream(data.getBytes("ISO8859-1"));
ObjectInputStream oi=new ObjectInputStream(bi);
return oi.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static Object bytes2Object(byte[] bytes){//将byte写到流里
try {
ByteArrayInputStream bi=new ByteArrayInputStream(bytes);
ObjectInputStream oi=new ObjectInputStream(bi);
return oi.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static String dateToString(Date date){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return dateFormat.format(date);
}
对象、流和byte数组的转换
最新推荐文章于 2022-02-08 10:46:25 发布
