我正在开发一种应用程序实例之间的交换格式,以便用户可以将信息保存到文件并稍后恢复。整个“交换格式”是一个被序列化并写入磁盘的类。
您建议如何在该类中存储图形/声音信息?我想避免只是将文件放入 .jar 中。
我正在开发一种应用程序实例之间的交换格式,以便用户可以将信息保存到文件并稍后恢复。整个“交换格式”是一个被序列化并写入磁盘的类。
您建议如何在该类中存储图形/声音信息?我想避免只是将文件放入 .jar 中。
您可以将资源作为 byte[] 数组存储在类中。使用 ByteArrayInputStream 和 ByteArrayOutputStream,您可以将数组包装为流,并使用它们来存储和检索资源。
** 我 **
关于你的案子的更多细节怎么样?“最佳”方法通常取决于特定的应用程序/用途。图像/声音是否来自文件?来自流?该类的每个实例是否都应存储单独的图像?还是可以在不同实例之间共享图像?
gsmd
图像来自文件,声音来自流;实际上有一组项目,其中一些可能附有图像;无法共享图像
你尝试过哪些方法?我想使用 Serializable 接口是要走的路。这是有关该主题 的两篇 文章。
基本上,
您必须自定义图像和声音类如何使用写入数据,但要实现:
private void writeObject(ObjectOutputStream out) 抛出 IOException;
private void readObject(ObjectInputStream in) 抛出 IOException,ClassNotFoundException;
在类中以任何您喜欢的方式存储数据,但实现数据的自定义序列化。请参阅可序列化。