如何从文件文件夹创建自定义文件类型
how to create a custom filetype from a folder of files?
我的问题很简单,我在一个文件夹中有一堆文件(图像和纯文本),是否有一种方法可以将所有这些文件打包在一个文件中(带有头或最好压缩的原始文件),并在运行时解包以在另一个程序中使用?
例如,我有图像,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"};
}
相关文章:
- 将文件复制到自定义位置,存在字符串转换问题
- 告诉CMake链接到自定义文件夹中的Boost
- 如何在Qt中使用QDataStream将自定义结构保存/加载到二进制文件中?
- 通过cMake使用具有自定义文件扩展名的共享库
- 在 cout 中将线条表单文件与自定义文本组合时出现问题
- 自定义构建文件更改不会触发VS 2017中的项目重建
- 如何在Boost::program_options配置文件中为非字符串的自定义选项值类型处理空格
- 如何在cmake工具链文件中设置编译功能,以便已知的自定义编译器使用target_compile_features
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- 运行自定义可执行文件,QProcess 立即退出,退出代码为 1
- 威纳派读取自定义文件或文件夹的所有访问权限
- 使用命令列表解析自定义文件
- 通过自定义分隔符从文件中读取对象数组
- Arduino IDE中自定义库类的.h文件编译错误的原因是什么
- 如何使用自定义对象的序列化在 c++ 中编写自定义二进制文件处理程序
- 自定义二进制文件在 C++ 中触发故障位
- 在自定义哈希表头文件中包括自定义链表
- Qt解析自定义文件格式
- 在visual studio 2015中使用.natvis文件自定义多维数组调试
- 从构建中排除文件(自定义和临时)