代码之家  ›  专栏  ›  技术社区  ›  yanchenko

在类中存储图像/声音的最佳方法是什么?

  •  1
  • yanchenko  · 技术社区  · 16 年前

    我正在开发一种应用程序实例之间的交换格式,这样用户就可以将信息保存到文件中,并在以后恢复它。整个“交换格式”是一个被序列化并写入磁盘的类。

    您建议如何在该类中存储图形/声音信息?我想避免把文件放在.jar中。

    3 回复  |  直到 16 年前
        1
  •  3
  •   jassuncao    16 年前

    您可以将资源作为byte[]数组存储在类中。使用BytearrayInputstream和BytearrayOutputstream,您可以将数组包装为流,并使用它们存储和检索资源。

        2
  •  0
  •   activout.se    16 年前

    在类中以任何方式准确存储数据,但为数据实现自定义序列化。见 Serializable .

        3
  •  0
  •   moogs    16 年前

    **我* * *

    关于你的案件的更多细节如何?“最佳”方法通常取决于特定的应用/使用。图像/声音是否来自文件?从小溪里?类的每个实例是否应存储单独的图像?或者可以在不同的实例之间共享图像?

    GSMD

    图像来自文件,声音来自 从一条溪流中;实际上有一组 其中一些可能具有 附加图像;图像不能 共享


    你尝试过什么方法? 我想使用可序列化接口是可行的。这里是 two articles 关于这个话题。

    基本上,

    1. 在类中实现可序列化接口
    2. 将不应保存在文件中的成员标记为临时成员(包含上下文数据的成员,如文件句柄、套接字连接等)。
    3. 您必须自定义图像和声音类如何使用,但实现:

      private void writeobject(objectOutputstream out)引发IOException;

      private void readobject(objectinputstream-in)引发IOException、ClassNotFoundException;