Java代码如何实现Object转byte[]及byte[]转Object呢?
下文笔者讲述java代码实现“对象转数组”及“数组转对象”的方法分享,如下所示
对象和数组之间互转的实现思路:
使用ObjectOutputStream 和
ObjectInputStream
对象即可实现数组和对象互转的效果
例
package com.java265.utils;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import com.java265.javabean.TestBean;
public class ObjectAndByte {
/**
* 对象转数组
* @param obj
* @return
*/
public byte[] toByteArray (Object obj) {
byte[] bytes = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
bytes = bos.toByteArray ();
oos.close();
bos.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return bytes;
}
/**
* 数组转对象
* @param bytes
* @return
*/
public Object toObject (byte[] bytes) {
Object obj = null;
try {
ByteArrayInputStream bis = new ByteArrayInputStream (bytes);
ObjectInputStream ois = new ObjectInputStream (bis);
obj = ois.readObject();
ois.close();
bis.close();
} catch (IOException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return obj;
}
public static void main(String[] args) {
TestBean tb = new TestBean();
tb.setName("maomao");
tb.setValue("1232442424");
ObjectAndByte oa = new ObjectAndByte();
byte[] b = oa.toByteArray(tb);
System.out.println(new String(b));
System.out.println("=======================================");
TestBean teb = (TestBean) oa.toObject(b);
System.out.println(teb.getName());
System.out.println(teb.getValue());
}
}
package com.java265.javabean;
import java.io.Serializable;
public class TestBean implements Serializable{
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


