AIR: Dateien und Verzeichnisse auslesen

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):

[as]
import flash.filesystem.*;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.controls.DataGrid;
import fl.data.DataProvider;

// neues File-Objekt mit Zielverzeichnis
var directory:File = File.desktopDirectory;

// Verzeichnis in Array einlesen
var dir:Array = directory.getDirectoryListing();

// neues datagrid
var myGrid:DataGrid = new DataGrid();
myGrid.setSize(1200, 500);
myGrid.move(0,50);

// neuer data provider
var myDP:DataProvider = new DataProvider();

// ::::::::::::::::::::::::::::::::::::
// :::::::::::::::::: NEUE SPALTEN ::::
// ::::::::::::::::::::::::::::::::::::

var name_col:DataGridColumn = new DataGridColumn(„Dateiname“);
myGrid.addColumn(name_col);

var bytes_col:DataGridColumn = new DataGridColumn(„Bytes“);
myGrid.addColumn(bytes_col);
bytes_col.width = 45;

var extension_col:DataGridColumn = new DataGridColumn(„Dateiendung“);
myGrid.addColumn(extension_col);
extension_col.width = 45;

var type_col:DataGridColumn = new DataGridColumn(„Dateityp“);
myGrid.addColumn(type_col);
type_col.width = 45;

var creationDate_col:DataGridColumn = new DataGridColumn(„Erstellungsdatum“);
myGrid.addColumn(creationDate_col);

var modDate_col:DataGridColumn = new DataGridColumn(„Modifizierungsdatum“);
myGrid.addColumn(modDate_col);

var isDir_col:DataGridColumn = new DataGridColumn(„IstEinVerzeichnis“);
myGrid.addColumn(isDir_col);
isDir_col.width = 45;

var superiorDir_col:DataGridColumn = new DataGridColumn(„UebergeordnetesVerzeichnis“);
myGrid.addColumn(superiorDir_col);

var path_col:DataGridColumn = new DataGridColumn(„Pfad“);
myGrid.addColumn(path_col);

// Schleife für jede Datei

for (var i:int = 0; i < dir.length; i++) { // Name der Datei // dir[i].name; // Größe in Bytes //dir[i].size // Dateiendung, z.B. doc (null bei Verzeichnis) // dir[i].extension; // Dateityp, z.B. .doc (null bei Verzeichnis) // dir[i].type; // Erstellungsdatum // dir[i].creationDate; // Änderungsdatum // dir[i].modificationDate; // Übergeordnetes Verzeichnis // dir[i].parent.nativePath; // Handelt es sich um ein Verzeichnis? // dir[i].isDirectory; myDP.addItem( { Dateiname: dir[i].name, Bytes: dir[i].size, Dateiendung: dir[i].extension, Dateityp: dir[i].type, Erstellungsdatum: dir[i].creationDate, Modifizierungsdatum: dir[i].modificationDate, Pfad: dir[i].nativePath, IstEinVerzeichnis: dir[i].isDirectory, UebergeordnetesVerzeichnis: dir[i].parent.nativePath }); } // data provder dem grid zuordnen myGrid.dataProvider = myDP; // der bühne hinzufügen addChild(myGrid); [/as]

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

[ad]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert