In Teil 14 der Adobe AIR 1.0-Serie wird gezeigt, wie man den Inhalt eines Ordners auslesen kann. Des Weiteren werden die gängigsten Eigenschaften eines File-Objekts aufgezeigt.

Hier die wichtigsten Eigenschaften einer Datei oder eines Verzeichnisses:

  • Name der Datei: File.name
  • Größe der Datei in Bytes: File.size
  • Dateiendung, z.B. doc (null bei Verzeichnis): File.extension
  • Dateityp, z.B. .doc (null bei Verzeichnis): File.type
  • Erstellungsdatum: File.creationDate
  • Änderungsdatum: File.modificationDate
  • Übergeordnetes Verzeichnis (ist wiederum ein Fileobjekt): File.parent
  • Handelt es sich um ein Verzeichnis?: File.isDirectory

Das folgende AIR-Beispiel liest alle Dateien aus, die sich auf dem Desktop befinden. In einer Tabelle werden die ganzen Eigenschaften der jeweiligen Dateien (bzw. Verzeichnisse) aufgelistet.

Adobe air File Folders

Der Code der AIR-Anwendung lautet (nicht abschrecken lassen, der meiste Code wird eigentlich für die Erstellung der Tabelle verwendet):

Actionscript:
  1. import flash.filesystem.*;
  2. import fl.controls.dataGridClasses.DataGridColumn;
  3. import fl.controls.DataGrid;
  4. import fl.data.DataProvider;
  5.  
  6. // neues File-Objekt mit Zielverzeichnis
  7. var directory:File = File.desktopDirectory;
  8.  
  9. // Verzeichnis in Array einlesen
  10. var dir:Array = directory.getDirectoryListing();
  11.  
  12. // neues datagrid
  13. var myGrid:DataGrid = new DataGrid();
  14. myGrid.setSize(1200, 500);
  15. myGrid.move(0,50);
  16.  
  17. // neuer data provider
  18. var myDP:DataProvider = new DataProvider();
  19.  
  20. // ::::::::::::::::::::::::::::::::::::
  21. // :::::::::::::::::: NEUE SPALTEN ::::
  22. // ::::::::::::::::::::::::::::::::::::
  23.  
  24. var name_col:DataGridColumn = new DataGridColumn("Dateiname");
  25. myGrid.addColumn(name_col);
  26.  
  27. var bytes_col:DataGridColumn = new DataGridColumn("Bytes");
  28. myGrid.addColumn(bytes_col);
  29. bytes_col.width = 45;
  30.  
  31. var extension_col:DataGridColumn = new DataGridColumn("Dateiendung");
  32. myGrid.addColumn(extension_col);
  33. extension_col.width = 45;
  34.  
  35. var type_col:DataGridColumn = new DataGridColumn("Dateityp");
  36. myGrid.addColumn(type_col);
  37. type_col.width = 45;
  38.  
  39. var creationDate_col:DataGridColumn = new DataGridColumn("Erstellungsdatum");
  40. myGrid.addColumn(creationDate_col);
  41.  
  42. var modDate_col:DataGridColumn = new DataGridColumn("Modifizierungsdatum");
  43. myGrid.addColumn(modDate_col);
  44.  
  45. var isDir_col:DataGridColumn = new DataGridColumn("IstEinVerzeichnis");
  46. myGrid.addColumn(isDir_col);
  47. isDir_col.width = 45;
  48.  
  49. var superiorDir_col:DataGridColumn = new DataGridColumn("UebergeordnetesVerzeichnis");
  50. myGrid.addColumn(superiorDir_col);
  51.  
  52. var path_col:DataGridColumn = new DataGridColumn("Pfad");
  53. myGrid.addColumn(path_col);
  54.  
  55.  
  56.  
  57. // Schleife für jede Datei
  58.  
  59. for (var i:int = 0; i length; i++) {
  60.    
  61.     // Name der Datei
  62.     // dir[i].name;
  63.    
  64.     // Größe in Bytes
  65.     //dir[i].size
  66.    
  67.     // Dateiendung, z.B. doc (null bei Verzeichnis)
  68.     // dir[i].extension;
  69.  
  70.     // Dateityp, z.B. .doc (null bei Verzeichnis)
  71.     // dir[i].type;
  72.    
  73.     // Erstellungsdatum
  74.     // dir[i].creationDate;
  75.  
  76.     // Änderungsdatum
  77.     // dir[i].modificationDate; 
  78.    
  79.     // Übergeordnetes Verzeichnis
  80.     // dir[i].parent.nativePath;
  81.  
  82.     // Handelt es sich um ein Verzeichnis?
  83.     // dir[i].isDirectory;
  84.    
  85.     myDP.addItem( {
  86.         Dateiname: dir[i].name,
  87.         Bytes: dir[i].size,
  88.         Dateiendung: dir[i].extension,
  89.         Dateityp: dir[i].type,
  90.         Erstellungsdatum: dir[i].creationDate,
  91.         Modifizierungsdatum: dir[i].modificationDate,
  92.         Pfad: dir[i].nativePath,
  93.         IstEinVerzeichnis: dir[i].isDirectory,
  94.         UebergeordnetesVerzeichnis: dir[i].parent.nativePath
  95.        
  96.     });
  97.    
  98. }
  99.  
  100. // data provder dem grid zuordnen
  101. myGrid.dataProvider = myDP;
  102.  
  103. // der bühne hinzufügen
  104. addChild(myGrid);

Download: Quelldatei (.fla)
Link: flash.filesystem.File (Livedocs)