如何将不同类型的数据存储在一个文件中

时间:2018-07-12 23:59:42

标签: file file-format

我需要以这种格式将数据存储在文件中 单词,音频,jpeg 如何将所有内容存储在一个文件中?是否有可能我需要存储指向其他数据文件的链接来代替音频和jpeg。我需要自定义文件格式吗?

1 个答案:

答案 0 :(得分:1)

1。您自己的文件类型

正如@Ken White提到的那样,您需要为这种事情创建自己的自定义文件格式,这意味着要创建自己的解析器类型。几乎可以使用任何您想要的语言来实现,但是由于您打算使用单词格式,那么C#可能是最适合您的语言。但是,此技术可能非常复杂,并且需要花费大量时间来彻底测试文件压缩器/解压缩器,但根据您的需求可能是最好的。

2。命令行实用程序

解决此问题的另一种方法是使用bash脚本将所有文件组合到一个文件中,然后在另一端将其解压缩。例如,这些步骤可能涉及:

  • 在命令行上使用Windows copy / linux cat命令组合文件
  • 创建自己的metdata文件,该文件说明此自定义文件中有多少文件,每个文件占用多少内存(例如,可以是简短的XML或JSON文件...)
  • 使用linux split命令或安装Windows命令行文件拆分器程序(here's just one example)将文件拆分回组成文件的任何组件。

这样,您只需创建一个很小的文件类型,并让O​​S实用程序为您处理它们的组合。

Windows上的示例:

  1. 将当前目录中的所有文件复制到一个名为“ file.custom”的输出文件中

    复制/ b * file.custom

    1. 生成描述元数据的自定义文件格式(即,使用C#example here获取磁盘上的文件大小)。这也许就是我要在JSON中执行的操作。 SO格式令人讨厌,所以here's a link(将其复制粘贴到编辑器或在线JSON查看器中)。

    2. 使用Windows / Linux解压缩命令行工具将每个文件解压缩为JSON(元数据)文件中指定的确切长度(并将其导出回确切名称)。 (有关在this post上拆分文件的更多信息)。

3。 ZIP文件

您始终可以将所有文件存储在压缩的zip文件中,然后在需要恢复存储在其中的任意数量文件格式时使用zip压缩器,expander。

我发现了几个例子: