коллекция объектов в байтовом формате, а затем наоборот в Java - PullRequest
0 голосов
/ 22 апреля 2011

У меня есть коллекция объектов, которые мне нужно сохранить в байтовом формате, а затем я должен преобразовать данные в байтах обратно в коллекцию объектов. Мне нужен ответ в Java.Например, у меня есть массив объектов (любого типа), тогда я должен преобразовать этот массив в байтовый массив в Java, а затем наоборот.

Пожалуйста, если возможно, предложите мне использовать коллекцию и методы, которые ее поддерживают..

1 Ответ

4 голосов
/ 22 апреля 2011

Предполагая, что Foo implements Serializable, просто выполните

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

try {
    oos.writeObject(list);
} finally {
    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();
}

// ...

Вместо ByteArrayOutputStream и ByteArrayInputStream вы, конечно, также можете предоставитьFileOutputStream и FileInputStream соответственно для записи / чтения его в / из файла.

См. Также:

...