【问题标题】:How can I merge files into 1 file, and how to split them after the merge如何将文件合并为 1 个文件,以及合并后如何拆分它们
【发布时间】:2014-08-15 10:19:00
【问题描述】:

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

现在假设游戏必须为每个关卡加载新资源。

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

演示:

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

【问题讨论】:

  • VB.NET VB6。是哪个?

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


【解决方案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】:

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

    如果是你自己的文件,我推荐使用ZipFile Class.

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-01-20
        • 2015-05-15
        • 1970-01-01
        • 1970-01-01
        • 2019-09-20
        • 2015-12-31
        • 1970-01-01
        • 1970-01-01
        • 2015-03-18
        相关资源
        最近更新 更多