如何将文件合并到1个文件中,以及如何在合并后将它们拆分

时间:2014-08-15 10:19:01

标签: .net vb.net merge resources game-development

我正在构建游戏,游戏需要加载照片和文本文件等资源。

现在让我们说,游戏必须为每个级别加载新资源。

我想合并文件(照片+文字),它将是一个资源文件,我的游戏我们知道如何打开此文件并分离文件,然后阅读它们。

示范:

enter image description here

所以我该怎么做(我希望我的游戏能够合并和分离文件)?

3 个答案:

答案 0 :(得分:1)

如果它是Visual Basic使用的资源文件,我认为它们实际上并不包含图像......

如果是您自己的文件,我建议您使用ZipFile Class.

答案 1 :(得分:1)

您可以在自定义文件中保留固定长度的字节数组,以存储该字节数组中两个文件的起始位置和结束位置。例如,如果您在自定义文件字节数据中使用了索引0到19来存储Image:21,3520;Text:3521,6550之类的信息。然后,通过从该固定字节位置检索信息,在序列中合并文件后,您可以轻松地再次拆分该数组。这是最简单的方法。

Image File Length: 12000

Text File Length: 500

然后你的新数组将被创建为

byte[] data = new byte[12000 + 500 + 20];

在该数组中,您需要存储有关0到19索引中两个文件位置的信息。 (您可以根据需要增加它)。

//Information
data[0] = ...
data[19] = ...

//Image file
data[20] = ...
data[12019] = ...

//Text file
data[12020] = ...
data[12519] = ...

然后使用System.IO.WriteAllBytes()方法将该字节数组写入文件。

答案 2 :(得分:1)

您可以将DotNetZip用于.net 3.0,3.5

对于.net 4.5,4.6 ZipFile Class,就像Vincet写的那样。