有没有像类可能用于存储文件和目录的类,就像Zip文件的使用方式一样?
因为我没有找到任何“真正的”类来编写Zip文件(真实类在真实类中),
能够将文件和目录存储在类似容器的文件中会很好.
一个完美的API可能看起来像这样:
int main()
{
ContainerFile cntf("myContainer.cnt", ContainerFile::CREATE);
cntf.addFile("data/some-interesting-stuff.txt");
cntf.addDirectory("data/foo/");
cntf.addDirectory("data/bar/", ContainerFile::RECURSIVE);
cntf.close();
}
……我希望你能得到这个想法.
重要要求是:
>图书馆必须是跨平台的
>任何事情*在这种情况下不接受GPL(麻省理工学院和BSD许可证)
我已经想到了创建一个基于SQLite的Implentation(以及它存储二进制blob的能力).不幸的是,似乎不可能在SQLite数据库中存储目录结构,这使得它在这种情况下几乎无用.
希望这样的类库是没用的吗?
最佳答案 在SQLite数据库中,您可以存储类似目录的结构…您只需要有一个“目录”表,每个目录有一个条目,至少有一个索引和一个“父”字段(保存另一个的索引)目录,如果没有父目录则为0).然后,您可以拥有一个“文件”表,其中包含文件属性,父目录的索引和文件内容.
就是这样,现在您在关系数据库中拥有了目录树.