Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,将对象集合转换为字节格式,然后再转换为字节格式_Java_Collections_Bytearray - Fatal编程技术网

在java中,将对象集合转换为字节格式,然后再转换为字节格式

在java中,将对象集合转换为字节格式,然后再转换为字节格式,java,collections,bytearray,Java,Collections,Bytearray,我有一个对象集合,我需要以字节格式存储,然后我必须将以字节为单位的数据转换回对象集合。 例如,我有一个对象数组(任何类型),然后我必须在java中将这个数组转换为字节数组,然后反过来 如果可能的话,请向我推荐要使用的集合以及支持它的方法。假设Foo实现了可序列化的,就这样做吧 List<Foo> list = createItSomehow(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutpu

我有一个对象集合,我需要以字节格式存储,然后我必须将以字节为单位的数据转换回对象集合。 例如,我有一个对象数组(任何类型),然后我必须在java中将这个数组转换为字节数组,然后反过来


如果可能的话,请向我推荐要使用的集合以及支持它的方法。

假设
Foo实现了可序列化的
,就这样做吧

List<Foo> list = createItSomehow();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);

try {
    oos.writeObject(list);
} finally {
    oos.close();
}

byte[] bytes = baos.toByteArray();
// ...
List List=createItSomehow();
ByteArrayOutputStream bas=新的ByteArrayOutputStream();
ObjectOutputStream oos=新的ObjectOutputStream(BAS);
试一试{
oos.writeObject(列表);
}最后{
oos.close();
}
byte[]bytes=baos.toByteArray();
// ...
反过来说:

ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(bais);
List<Foo> list = null;

try {
    list = (List<Foo>) ois.readObject();
} finally {
    ois.close();
}

// ...
ByteArrayInputStream bais=新的ByteArrayInputStream(字节);
ObjectInputStream ois=新ObjectInputStream(BAI);
List=null;
试一试{
list=(list)ois.readObject();
}最后{
ois.close();
}
// ...
当然,您也可以分别提供
FileOutputStream
FileInputStream
来将其写入/读取文件,而不是
ByteArrayOutputStream
ByteArrayInputStream

另见:

这不就是序列化的目的吗?如果您向我们展示您拥有的功能,将更容易帮助您。你在谷歌上搜索过“java将对象转换为字节”吗?听起来像是要序列化对象并通过某种通信方式发送,对吗?