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; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。