如何将对象转换为输入流
Posted
技术标签:
【中文标题】如何将对象转换为输入流【英文标题】:How can I convert an Object to Inputstream 【发布时间】:2012-03-05 01:40:34 【问题描述】:如何将 java 对象转换为 InputStream?
【问题讨论】:
【参考方案1】:您可以使用ObjectOutputStream
您将对象(下面代码中的obj)写入ObjectOutputStream,您要转换为输入流的对象必须实现Serializable。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
oos.flush();
oos.close();
InputStream is = new ByteArrayInputStream(baos.toByteArray());
【讨论】:
这是一个不错的测试,但保存/检索 jpeg 不是很方便。 如果 obj 没有实现 Serializable 接口怎么办。 只需将“implements Serializable”添加到您的课程中。您可能还希望“生成可序列化的 UUID”,大多数 IDE 都会为您执行此操作,例如 eclipse。这样当您通过网络对对象进行序列化时,不会与内存中的类似对象发生冲突。以上是关于如何将对象转换为输入流的主要内容,如果未能解决你的问题,请参考以下文章
使用流将对象列表转换为从 toString 方法获得的字符串
如何将 Base64 字符串转换为 javascript 文件对象,如文件输入表单?