对象数组到输入流

时间:2012-04-23 09:06:09

标签: java inputstream

我有一个人类数组

Class Person
{}

有人可以帮我转换Person[]数组到inputstream或byteStream吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

为了能够将对象写入(序列化)到流,您的类应该实现Serializable接口。在大多数情况下,除了在类定义中添加“implements Serializable”子句之外,您不需要执行任何操作:

class Person implements Serializable {
// your class's fields and methods
}

然后,当然,您没有写入输入流,而是写入输出流:

Person p = new Person();
// some more code here...
OutputStream os = new FileOutputStream("persons.txt"); // open file as a stream
os.write(person); // write person object to the stream
os.close(); // close the stream

要转换为字节数组,您必须使用序列化:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(person);
byte[] bytes = baos.toByteArray();