Pergunta

Gostaria de criar um formato de arquivo para meu aplicativo como Quake, OO e MS Office 07.

Basicamente, uma pasta zip descompactada ou arquivo tar.

Preciso que seja multiplataforma (Mac e Windows).

Posso fazer algo via prompt de comando e bash?

Foi útil?

Solução

Dê uma olhada no código aberto 7Zip formato de compressão.Para suas necessidades específicas, você pode usá-lo no modo "Arquivo", sem compactação, mas muito rápido.

Ele fornece um SDK poderoso, LZMA, do site:

"LZMA é o método de compactação padrão e geral do formato 7z no programa 7-Zip.LZMA oferece uma alta taxa de compactação e descompactação muito rápida, por isso é muito adequado para aplicações embarcadas.Por exemplo, pode ser usado para compactação de ROM (firmware).

O LZMA SDK fornece documentação, amostras, arquivos de cabeçalho, bibliotecas e ferramentas necessárias para desenvolver aplicativos que usam compactação LZMA."

Outras dicas

Se você deseja um único arquivo que seja portátil para todas as plataformas e que contenha dados estruturados, considere usar o sqlite.Você obterá um banco de dados compatível com ACID completo que existe no disco como um único arquivo.

Existem bibliotecas às quais você pode vincular para acessar diretamente o arquivo e há uma ferramenta de linha de comando que você também pode usar.Não importa qual idioma você esteja usando, provavelmente há suporte para isso.

http://www.sqlite.org

Zip é compatível em todos os lugares.Se um contêiner é tudo que você precisa, essas certamente são boas opções.

SQLite é ótimo.

Um único arquivo, plataforma cruzada, uma pequena biblioteca, acesso SQL aos dados, transações, toda a enchilada.

você pode usar transações para garantir pontos de retorno consistentes em caso de falha.verificar usa para sqlite, eles defendem especificamente seu uso como uma camada de modelo de dados para aplicativos de desktop.

além disso, há uma ferramenta de linha de comando para acessar manualmente os dados.

A primeira coisa que você deve se perguntar é: “Eu realmente preciso fazer o meu próprio?”

Dependendo da finalidade para a qual você deseja usá-lo, provavelmente será melhor usar um formato comum e algumas bibliotecas pré-fabricadas que já lidam muito bem com um desses formatos.

Bons lugares para começar:http://www.destructor.de/libtar/index.htm (tar -- um formato de 'contêiner')http://www.zlib.net/ (zlib – um método de compactação de dados antes ou depois de colocá-los no contêiner)

Se você ainda acha que precisa fazer o seu próprio, sugiro estudar primeiro algo muito simples, como o formato do tar:

http://en.wikipedia.org/wiki/Tar_(formato_de_arquivo)ouhttp://schmidt.devlib.org/file-formats/tar-archive-file-format.html

Em vez de fazer um formato, eu apenas decidiria por uma convenção.Um ou mais arquivos nomeados dentro do contêiner possuem os metadados necessários para acessar o restante dos arquivos e saber o que fazer com eles.O contêiner em si, porém, deve ter apenas algum formato onipresente, como zip.Não há necessidade de reinventar a roda, aqui.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top