java 怎么样把对象转换为byte数组

Python015

java 怎么样把对象转换为byte数组,第1张

response.getOutputStream().write("hello world".getBytes())

"hello world".getBytes()这个是将字符串对象 转成字节数组

InputStream in=  request.getInputStream()

byte[] buf=new byte[1024]

int len=0

while((len=in.read())!=-1){

   String str= new String(buf,0,len)

   System.out.println(str)

}

上面是将 字节码数组 转换为  字符串

如果你的类实现了Serializable的接口,就说明这个类允许被变成一个byte[]数组来进行传输并可以在将来从这个byte[]恢复成这个类 ,这个类就是你说的对象

首先对象要继承Serializable接口

import java.io.ByteArrayInputStream

import java.io.ByteArrayOutputStream

import java.io.ObjectInputStream

import java.io.ObjectOutputStream

import java.io.Serializable

public class Testdfdfdsa implements Serializable {

public byte[] ObjectToByte(java.lang.Object obj) {

byte[] bytes=new byte[1024]

try {

// object to bytearray

ByteArrayOutputStream bo = new ByteArrayOutputStream()

ObjectOutputStream oo = new ObjectOutputStream(bo)

oo.writeObject(obj)

bytes = bo.toByteArray()

bo.close()

oo.close()

} catch (Exception e) {

System.out.println("translation" + e.getMessage())

e.printStackTrace()

}

return (bytes)

}

private static java.lang.Object ByteToObject(byte[] bytes) {

java.lang.Object obj=new java.lang.Object()

try {

// bytearray to object

ByteArrayInputStream bi = new ByteArrayInputStream(bytes)

ObjectInputStream oi = new ObjectInputStream(bi)

obj = oi.readObject()

bi.close()

oi.close()

} catch (Exception e) {

System.out.println("translation" + e.getMessage())

e.printStackTrace()

}

return obj

}

}

这里都是java.lang.Object是因为我要用于Corba中,只写Object会引起类型冲突。

具体你是什么对象你就用你对象类型就可以了,第一个方法是对象转byte[].第2个方法是byte[]转回对象