Pregunta

Me gustaría crear un formato de archivo para mi aplicación como el que tienen Quake, OO y MS Office 07.

Básicamente una carpeta zip sin comprimir o un archivo tar.

Necesito que esto sea multiplataforma (mac y windows).

¿Puedo hacer algo mediante el símbolo del sistema y bash?

¿Fue útil?

Solución

Eche un vistazo al código abierto. 7Zip formato de compresión.Para tus necesidades específicas, puedes usarlo en modo "Archivo", sin compresión pero muy rápido.

Proporciona un potente SDK, LZMA, desde el sitio:

"LZMA es el método de compresión general y predeterminado del formato 7z en el programa 7-Zip.LZMA proporciona una alta relación de compresión y una descompresión muy rápida, por lo que es muy adecuado para aplicaciones integradas.Por ejemplo, se puede utilizar para comprimir ROM (firmware).

El SDK de LZMA proporciona la documentación, ejemplos, archivos de encabezado, bibliotecas y herramientas que necesita para desarrollar aplicaciones que utilizan la compresión LZMA".

Otros consejos

Si desea un único archivo que sea portátil para todas las plataformas y que contenga datos estructurados, considere usar sqlite.Obtendrá una base de datos compatible con ACID con todas las funciones que existe en el disco como un solo archivo.

Hay bibliotecas que puede vincular para acceder directamente al archivo, y también hay una herramienta de línea de comandos que puede usar.No importa qué idioma esté utilizando, lo más probable es que haya soporte para ello.

http://www.sqlite.org

Zip es compatible en todas partes.Si todo lo que necesita es un contenedor, seguramente esas son buenas opciones.

SQLite es genial.

Un único archivo, multiplataforma, una biblioteca diminuta, acceso SQL a datos, transacciones, toda la enchilada.

puede utilizar transacciones para garantizar puntos de devolución consistentes en caso de falla.controlar usos para sqlite, abogan específicamente por su uso como capa de modelo de datos para aplicaciones de escritorio.

Además, hay una herramienta de línea de comandos para acceder manualmente a los datos.

Lo primero que debes preguntarte es: "¿Realmente necesito hacer el mío propio?"

Dependiendo de para qué quieras usarlo, probablemente sea mejor que utilices un formato común y algunas bibliotecas prefabricadas que ya manejan muy bien uno de esos formatos.

Buenos lugares para empezar:http://www.destructor.de/libtar/index.htm (tar - el formato 'contenedor')http://www.zlib.net/ (zlib: un método para comprimir datos antes o después de colocarlos en el contenedor)

Si todavía crees que necesitas crear el tuyo propio, te sugiero que primero estudies algo muy simple, como el formato tar:

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

En lugar de crear un formato, simplemente me decidiría por una convención.Uno o más archivos con nombre dentro del contenedor tienen los metadatos que necesita para acceder al resto de los archivos y saber qué hacer con ellos.Sin embargo, el contenedor en sí debería tener algún formato omnipresente, como zip.Aquí no es necesario reinventar la rueda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top