【问题标题】:Two applications need to export and import a single file which needs to include data and images, best file type?两个应用程序需要导出和导入需要包含数据和图像的单个文件,最佳文件类型?
【发布时间】:2014-01-16 14:39:39
【问题描述】:

我正在制作两个 Java 应用程序,一个用于收集数据,另一个用于使用它。收集的一个将从另一个导入一个文件,该文件将包含数据和图像并将被解密。

我不确定要使用什么文件类型。到目前为止,所有数据都采用 XML 格式,效果很好,但我需要图像,并且希望不必依赖于为文件夹中的所有图像提供路径参考。

想法?

【问题讨论】:

标签: java xml file-type


【解决方案1】:

嗯,我认为最好的方法是创建自己的格式(.myformat 或 .data)。该文件实际上是一个 Zip 文件,其中包含您的 XML 文件和图像。 据我所知,没有用 java 编写的完美示例。但是,这里有一些示例:
Java 中没有

  • 正如@Bolo 所说,最好的例子是odt 格式。实际上,OpenOffice 将文档写入 xml 文件,图像也是如此。所有内容都包含在一个 odt 文件中。
  • .exe 文件是另一个示例。 C 文件和资源放在一个文件中。尝试用7-zip打开它,你会看到。
  • Skyrim 插件是 .esp 文件,其中包含 dds、脚本、niff(纹理)...

在java中

  • Minecraft 纹理包是一个 zip 文件,其中包含一个 .mcmeta 文件(信息)和纹理 (.png)
  • Jar 文件类似于 exe。

【讨论】:

【解决方案2】:

如果两个程序都在 java 中,您也可以使用 序列化,这基本上是将对象保存为文件(我认为后缀是 .ser)然后能够检索它。你应该用谷歌搜索它,即使它现在没有帮助,了解它也很好。

【讨论】:

    【解决方案3】:

    我建议使用 JSON。 Gson 是一个不错的图书馆。
    您可以嵌入images as byte arrays

    将序列化的字符串保存在具有首选扩展名的文件中,从第二个应用程序中读取它,反序列化并重建图像。

    【讨论】:

      【解决方案4】:

      您可以使用 Base64 编码将二进制图像数据转换为文本,这样您就可以将图像嵌入 XML。 [1]:http://en.wikipedia.org/wiki/Base64

      【讨论】:

        猜你喜欢
        • 2018-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-14
        • 2018-05-19
        • 2015-03-31
        • 1970-01-01
        相关资源
        最近更新 更多