如何从文件文件夹创建自定义文件类型

how to create a custom filetype from a folder of files?

本文关键字:文件 自定义 类型 创建 文件夹      更新时间:2023-10-16

我的问题很简单,我在一个文件夹中有一堆文件(图像和纯文本),是否有一种方法可以将所有这些文件打包在一个文件中(带有头或最好压缩的原始文件),并在运行时解包以在另一个程序中使用?

例如,我有图像,3d模型和一些文本文件,我想将它们打包在一个存档中,然后能够从存档中解压缩文件,以便在我已经拥有的可以加载和管理这些文件的另一个程序中使用

我过去使用过zziplib (http://zziplib.sourceforge.net/)。将它整合到我的跨平台平台(windows, Linux, Mac OSX)上并没有什么特别的困难。我只是使用了一个不同的扩展,以明确这是与我的程序一起使用。我可以重命名*。LVL文件到*.zip,并打开文件7zip, winrar, file-roller等…

还有许多其他的库:

Zlib - http://zlib.net/-没有文件格式,但使用gzip。

7-zip SDK - http://www.7-zip.org/sdk.html -支持LZMA, zip, bzip2和其他一些

无论你选择什么,都要小心许可证。zlib以其非常自由的许可证而闻名,但其中一些可能是在GPL下,这取决于您如何使用它可能需要源代码发布。

您可能还想查看:c++压缩库

这取决于你使用什么语言。例如,我使用lua与第三方软件luart [https://www.luart.org]一起开发和编译可执行文件,该软件带有用于操作文件和其他杂项任务的内置库。其中一个库是压缩库,它允许您使用如下函数:

local zip = require("compression")
return(zip.gunzip("myfile.zip"))

或Synth的system库:

dependencies{
    sys=system;
}
sys.file:compress{file="myfile.zip";
    returnDestination="%USERPROFILE%\folder";
}
sys.instance:open{file="explorer.exe";
    args={startDir="%USERPROFILE%\folder\myfile"};
}