Suscribirse a webrecursos.es! rss  
 
Ene
29
    
Posted (antoniohernandez) in Flash, Flex on Enero-29-2009

air Tratamiento de ficheros en AIR [Flex   AIR]Si algo caracteriza a Adobe AIR es la posibilidad de poder acceder y tratar los ficheros y directorios almacenados en tu pc.  Pero muchos os preguntareis ¿Que es AIR? AIR es un runtime que posibilita la ejecución de aplicaciones web fuera del su entorno habitual, el browser, y les proporciona los medios necesarios para que puedan integrarse completamente con el sistema operativo, convirtiéndose en “aplicaciones de primera clase” con exactemente los mismos “derechos” y capacidades que las aplicaciones nativas, con las ventajas propias de las aplicaciones web.

 

AIR dispone, digamos, de dos motores de renderizado/ejecución que le permiten gestionar aplicaciones HTML, JavaScript (AJAX), Flex y Flash.

 

Una vez sabido que es AIR vamos a poner un ejemplo de como podemos abrir un fichero en AIR almacenado en nuestro pc y tratar el contenido de este. El ejemplo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public function selectFichero():void{

var fichero : File = new File(); // Creacion de una variable de tipo fichero
fichero.addEventListener(Event.SELECT,ImportarFichero); //funcion que lanzamos si seleccionamos un archivo
fichero.addEventListener(Event.CANCEL,CancelarImportacion);
fichero.browseForOpen("Seleccione fichero a importar ...");
}

public function CancelarImportacion(evt: Event):void{
fichero.removeEventListener(Event.SELECT,ImportarFichero);
fichero.removeEventListener(Event.CANCEL,CancelarImportacion);
}

public function ImportarFichero(evt: Event):void{

fichero.removeEventListener(Event.SELECT,ImportarFichero);
fichero.removeEventListener(Event.CANCEL,CancelarImportacion);
var stream : FileStream = new FileStream();
stream.open(fichero,FileMode.READ);

var filestream: String = stream.readUTFBytes(stream.bytesAvailable);
var lineas:Array = fstream.split("\n"); //leeremos linea por linea
if(stream.bytesAvailable >0){

for(var cnt:Number=0;cnt<lineas.length-1;cnt++){
var cadena:String = lineas[cnt] as String;
trace(cadena); // mostramos el fichero linea a linea
}
stream.close();
}
else
Alert.show("Fichero vacio!","Error");
}

 
El ejemplo viene bien comentado así que creo que no tendreis  problemas en entenderlo. Lo que si esta es muy mal tabulado pero el editor no me da mucha opción. Para abrir un fichero sólo tendreis que llamar a la función SelectFichero(); y se os abrirá un popup típico de Windows para seleccionar que fichero desea abrir.