Question

Je souhaite créer un format de fichier pour mon application, tel que Quake, OO et MS Office 07.

Fondamentalement, un dossier zip non compressé ou un fichier tar.

J'ai besoin que cela se fasse sur plusieurs plates-formes (Mac et Windows).

Puis-je faire quelque chose via l'invite de commande et bash?

Était-ce utile?

La solution

Consultez le format de compression open source 7Zip . Pour vos besoins spécifiques, vous pouvez l'utiliser dans un fichier "Archive". mode, zéro compression mais très rapide.

Il fournit un puissant SDK, LZMA, disponible sur le site:

"LZMA est la méthode de compression générale et par défaut du format 7z dans le programme 7-Zip. Le LZMA fournit un taux de compression élevé et une décompression très rapide, il convient donc parfaitement aux applications embarquées. Par exemple, il peut être utilisé pour la compression de ROM (firmware).

Le kit de développement logiciel (SDK) LZMA fournit la documentation, les exemples, les fichiers d’entête, les bibliothèques et les outils nécessaires au développement d’applications utilisant la compression LZMA. "

Autres conseils

Si vous souhaitez un fichier unique, portable sur toutes les plateformes et contenant des données structurées, envisagez d’utiliser sqlite. Vous obtiendrez une base de données complète compatible ACID qui existe sur le disque en tant que fichier unique.

Il existe des bibliothèques sur lesquelles vous pouvez créer un lien pour accéder directement au fichier, et vous pouvez également utiliser un outil de ligne de commande. Quelle que soit la langue que vous utilisez, il est fort probable qu’elle soit prise en charge.

http://www.sqlite.org

Zip est supporté partout. Si un conteneur est tout ce dont vous avez besoin, alors ce sont sûrement de bonnes options.

SQLite est génial.

Un fichier unique, une plate-forme croisée, une petite bibliothèque, un accès SQL aux données, des transactions, l’ensemble de l’enchilada.

vous pouvez utiliser des transactions pour garantir des points de retour cohérents en cas de blocage. vérifiez utilise pour sqlite , ils recommandent expressément de l'utiliser comme couche de modèle de données pour les applications de bureau.

également, il existe un outil de ligne de commande pour accéder manuellement aux données.

La première chose que vous devriez vous poser est la suivante: "Ai-je vraiment besoin de créer moi-même?"

Selon l'utilisation que vous souhaitez en faire, vous ferez probablement mieux d'utiliser un format commun et des bibliothèques préconfigurées qui gèrent déjà très bien l'un de ces formats.

Bons endroits pour commencer: http://www.destructor.de/libtar/index.htm (tar - - un format 'conteneur') http://www.zlib.net/ (zlib - une méthode de compression des données avant ou après mettez-le dans le conteneur)

Si vous pensez toujours que vous devez créer le vôtre, je vous conseillerais d’abord d’étudier quelque chose de très simple, comme le format de tar:

http://fr.wikipedia.org/wiki/Tar_(file_format) ou http://schmidt.devlib.org/file-formats/ tar-archive-file-format.html

Au lieu de créer un format, je me contenterais de choisir une convention. Un ou plusieurs fichiers nommés dans le conteneur contiennent les métadonnées dont vous avez besoin pour accéder au reste des fichiers et savent quoi faire avec. Le conteneur lui-même, cependant, devrait simplement être un format omniprésent, tel que zip. Pas besoin de réinventer la roue, ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top