Entre píxeles y bytes

javascript

Por las caracteristicas propias de AIR y el modelo sandbox que incorpora, las rutas para escribir en el dispositivo del usuario (desktop/móvil) son muy concretas:

  • Directorio de la aplicación
  • Directorio de datos de la aplicación
  • Directorio del usuario
  • Directorio de documentos
  • Directorio del escritorio

No todas estan disponibles en todos los dispositivos que soportan AIR, pero son la opción multi-plataforma más alla de las que podemos indicar explicitamente con nativePath, que depende estrictamente del OS donde corre la aplicación.

Ejemplo:

laRuta = air.File.documentsDirectory;

Más información en File

Utilizando un enfoque sincronico:

Creamos un nuevo objeto de fichero

var streamFitxer = new air.FileStream();

Abrimos el fichero

streamFitxer.open(RutaFitxer, Mode);

Donde Mode es uno de los siguientes:

  • air.FileMode.READ: Abre solo para lectura
  • air.FileMode.WRITE: Abre para escribir, sino existe lo crea
  • air.FileMode.APPEND: Abre para añadir, sino existe lo crea.
  • air.FileMode.UPDATE: Abre para leer o escribir. Si no existe lo crea. Permite leer desde cualquier posición del fichero y escribe bytes tan solo encima de los bytes actuales, el resto del fichero lo mantiene sin canvios.

Escribir en el fichero

streamFitxer.writeUTFBytes( string );

Escribe los datos en UTF-8 pero sin añadir el prefijo BOM de 16 bytes en el inicio del fichero. Si necesitamos este prefijo entonces tendremos que utilizar writeUTF().

Tambien podemos usar writeMultiByte( dades, joc de caràcters )

Cerramos el fichero

streamFitxer.close();

Mas información en: http://help.adobe.com/en_US/air/html/dev/index.html