flash.filesystemFileStream Ein FileStream-Objekt wird zum Lesen und Schreiben von Dateien verwendet.flash.utils:IDataInputflash.utils:IDataOutputflash.events:EventDispatcher Ein FileStream-Objekt wird zum Lesen und Schreiben von Dateien verwendet. Dateien können durch einen Aufruf der open()-Methode synchron geöffnet werden oder asynchron durch einen Aufruf der openAsync()-Methode.

Der Vorteil beim asynchronen Öffnen liegt darin, dass anderer Code ausgeführt werden kann, während Adobe AIR Lese- und Schreibvorgänge im Hintergrund ausführt. Beim asynchronen Öffnen werden progress-Ereignisse ausgelöst, während die Vorgänge fortschreiten.

Ein synchron geöffnetes File-Objekt verhält sich in vielem wie ein ByteArray-Objekt; eine asynchron geöffnetes File-Objekt verhält sich dagegen eher wie ein Socket- oder URLStream-Objekt. Wenn ein File-Objekt synchron geöffnet wird, hält der Aufrufer an, während die angeforderten Daten aus der zugrundeliegenden Datei gelesen bzw. in die Datei geschrieben werden. Wurde die Datei asynchron geöffnet, werden in den Stream geschriebene Daten sofort gepuffert und später in die Datei geschrieben.

Sowohl beim synchronen als auch beim asynchronen Lesen aus einer Datei ist die tatsächliche Lesemethode synchron. In beiden Fällen wird aus Daten gelesen, die zurzeit „verfügbar“ sind. Der Unterschied ist, dass beim synchronen Lesen alle Daten jederzeit verfügbar sind, wohingegen beim asynchronen Lesen Daten nach und nach verfügbar sind, während die Daten in den Lesepuffer gestreamt werden. In beiden Fällen werden die Daten, die derzeit synchron gelesen werden können, durch die bytesAvailable-Eigenschaft repräsentiert.

Eine Anwendung, die asynchrone Eingaben verarbeitet, registriert sich normalerweise für progress-Ereignisse und nimmt die Daten auf, wenn sie verfügbar sind, indem sie Lesemethoden aufruft. Alternativ dazu kann eine Anwendung auch einfach warten, bis alle Daten verfügbar sind, indem sie sich für das complete-Ereignis registriert, und die gesamten Daten verarbeiten, wenn das complete-Ereignis ausgelöst wird.

complete Gibt an, dass das Ende des Streams erreicht wurde.flash.events.Event.COMPLETEflash.events.Event Gibt an, dass das Ende des Streams erreicht wurde. positionoutputProgress Gibt an, dass gepufferte Daten in die Datei geschrieben wurden.flash.events.OutputProgressEvent.OUTPUT_PROGRESSflash.events.OutputProgressEvent Gibt an, dass gepufferte Daten in die Datei geschrieben wurden. progress Gibt an, dass neue Daten im Stream verfügbar sind.flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent Gibt an, dass neue Daten im Stream verfügbar sind. ioError Gibt an, dass bei einem asynchronen Datei-E/A-Vorgang ein Fehler aufgetreten ist.flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent Gibt an, dass bei einem asynchronen Datei-E/A-Vorgang ein Fehler aufgetreten ist. close Gibt an, dass der Stream durch einen ausdrücklichen Aufruf der close()-Methode geschlossen wurde.flash.events.Event.CLOSEflash.events.Event Gibt an, dass der Stream durch einen ausdrücklichen Aufruf der close()-Methode geschlossen wurde. close()FileStream Erstellt ein FileStream-Objekt. Erstellt ein FileStream-Objekt. Verwenden Sie die open()- oder openAsync()-Methode, um eine Datei zu öffnen. open()openAsync()close Schließt das FileStream-Objekt. Schließt das FileStream-Objekt.

Nach dem Aufrufen der close()-Methode können Sie keine Daten mehr lesen oder schreiben. Wenn die Datei asynchron geöffnet wurde (das FileStream-Objekt hat die Datei mit der openAsync()-Methode geöffnet), löst das Objekt nach dem Aufruf der close()-Methode ein close-Ereignis aus.

Beim Schließen der Anwendung werden automatisch alle Dateien, die mit FileStream-Objekten in der Anwendung verknüpft sind, geschlossen. Am besten registrieren Sie ein closed-Ereignis für alle asynchron geöffneten FileStream-Objekte, in die noch Daten geschrieben werden müssen, bevor die Anwendung geschlossen wird (um sicherzustellen, dass die Daten geschrieben werden).

Sie können das FileStream-Objekt erneut verwenden, indem Sie die open()- oder openAsync()-Methode aufrufen. Damit werden alle Dateien geschlossen, die dem FileStream-Objekt zugewiesen sind, das Objekt löst jedoch nicht das close-Ereignis aus.

Wenn ein FileStream-Objekt asynchron geöffnet wurde (mit der openAsync()-Methode), wird es nicht (durch den Garbagekollektor) aus dem Speichermanagement entfernt, solange noch ausstehende Vorgänge vorliegen und für deren Abschluss Ereignisprozeduren registriert sind. Dies gilt auch dann, wenn Sie das close()-Ereignis für ein FileStream-Objekt aufrufen und Eigenschaften und Variablen löschen, die auf das Objekt verweisen. Ein sonst nicht referenziertes FileStream-Objekt bleibt bestehen, solange eine der folgenden Situationen eintreten kann:

  • Bei Lesevorgängen wurde das Ende der Datei nicht erreicht (und das complete-Ereignis wurde nicht ausgelöst).
  • Es stehen noch zu schreibende Ausgabedaten zur Verfügung und ausgabebezogene Ereignisse (zum Beispiel das outputProgress-Ereignis oder das ioError-Ereignis) haben Ereignis-Listener registriert.
Im folgenden Beispiel wird ein FileStream-Objekt asynchron geöffnet und eine Textdatei mit dem Namen „test.txt“ in den Unterordner „Apollo Test“ in den Dokumentordner des Benutzers geschrieben. Ein Aufruf der close()-Methode des FileStream-Objekts schließt die Datei, wenn die Daten geschrieben wurden. import flash.filesystem.*; import flash.events.Event; var file:File = File.documentsDirectory; file = file.resolvePath("Apollo Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.openAsync(file, FileMode.WRITE); fileStream.writeUTFBytes("Hello"); fileStream.addEventListener(Event.CLOSE, fileClosed); fileStream.close(); function fileClosed(event:Event):void { trace("closed"); } Im folgenden Beispiel wird ein FileStream-Objekt synchron geöffnet und eine Textdatei mit dem Namen „test.txt“ in den Unterordner „Apollo Test“ in den Dokumentordner des Benutzers geschrieben. Ein Aufruf der close()-Methode des FileStream-Objekts schließt die Datei, wenn die Daten geschrieben wurden. import flash.filesystem.*; var file:File = File.documentsDirectory; file = file.resolvePath("Apollo Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeUTF("Hello"); fileStream.close();
open()close-Ereigniscloseflash.events:EventDie Datei, die asynchron geöffnet wurde, wird geschlossen. Die Datei, die asynchron geöffnet wurde, wird geschlossen.
openAsync Öffnet das FileStream-Objekt asynchron, wobei auf die im file-Parameter festgelegte Datei verwiesen wird.Der Dateispeicherort befindet sich im Anwendungsordner und der fileMode-Parameter ist auf den Modus „anhängen“, „aktualisieren“ oder „schreiben“ gesetzt. SecurityErrorSecurityErrorfileflash.filesystem:FileDas File-Objekt, das die zu öffnende Datei angibt. fileModeStringEin String der FileMode-Klasse, der die Fähigkeiten des FileStreams definiert, zum Beispiel die Fähigkeit, aus der Datei zu lesen oder in die Datei zu schreiben. Öffnet das FileStream-Objekt asynchron, wobei auf die im file-Parameter festgelegte Datei verwiesen wird.

Wenn das FileStream-Objekt bereits geöffnet ist, wird die Datei durch den Aufruf dieser Methode vor dem Öffnen geschlossen und es werden keine weiteren Ereignisse (einschließlich close) für die zuvor geöffnete Datei übergegeben.

Wenn der fileMode-Parameter den Wert FileMode.READ oder FileMode.UPDATE aufweist, liest AIR Daten in den Eingabepuffer, sowie die Datei geöffnet wird, und progress- und open-Ereignisse werden ausgelöst, während die Daten in den Eingabepuffer gelesen werden.

Auf Systemen, die Dateisperren unterstützen, ist eine Datei, die im Modus „schreiben“ (FileMode.WRITE oder „aktualisieren“ FileMode.UPDATE) geöffnet wurde, erst lesbar, wenn sie geschlossen ist.

Sobald Sie mit den Dateivorgängen fertig sind, rufen Sie die close()-Methode des FileStream-Objekts auf. Manche Betriebssysteme beschränken die Anzahl der gleichzeitig geöffneten Dateien.

`
Im folgenden Beispiel wird die Datei „test.txt“ im Unterordner „Apollo Test“ des Dokumentordners des Benutzers asynchron geöffnet. Dann wird die Datei in einen String gelesen, wobei für die Textkodierung der Systemzeichensatz verwendet wird. import flash.filesystem.*; import flash.events.Event; var file:File = File.documentsDirectory; file = file.resolvePath("Apollo Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.addEventListener(Event.COMPLETE, fileCompleteHandler) fileStream.openAsync(file, FileMode.READ); function fileCompleteHandler(event:Event):void { var str:String = fileStream.readMultiByte(fileStream.bytesAvailable, File.systemCharset); trace(str); fileStream.close(); }
close()complete-EreignisioError eventprogress-EreignisFileModeioErrorflash.events:IOErrorEventDie Datei ist nicht vorhanden; Sie haben keine entsprechende Berechtigung zum Öffnen der Datei; Sie öffnen eine Datei für den Lesezugriff, verfügen aber nicht über die Leseberechtigung; oder Sie öffnen eine Datei für den Schreibzugriff, verfügen aber nicht über die Schreibberechtigung. Die Datei ist nicht vorhanden; Sie haben keine entsprechende Berechtigung zum Öffnen der Datei; Sie öffnen eine Datei für den Lesezugriff, verfügen aber nicht über die Leseberechtigung; oder Sie öffnen eine Datei für den Schreibzugriff, verfügen aber nicht über die Schreibberechtigung.progressflash.events:ProgressEventWird ausgelöst, wenn Daten in den Eingabepuffer gelesen werden. (Beim Öffnen der Datei muss der fileMode-Parameter den Wert FileMode.READ oder FileMode.UPDATE aufweisen.) Wird ausgelöst, wenn Daten in den Eingabepuffer gelesen werden.completeflash.events:EventDie Dateidaten wurden in den Eingabepuffer gelesen. (Beim Öffnen der Datei muss der fileMode-Parameter den Wert FileMode.READ oder FileMode.UPDATE aufweisen.) Die Dateidaten wurden in den Eingabepuffer gelesen.
open Öffnet das FileStream-Objekt synchron, wobei auf die im file-Parameter festgelegte Datei verwiesen wird.Die Datei ist nicht vorhanden; Sie haben keine entsprechende Berechtigung zum Öffnen der Datei; Sie öffnen eine Datei für den Lesezugriff, verfügen aber nicht über die Leseberechtigung; oder Sie öffnen eine Datei für den Schreibzugriff, verfügen aber nicht über die Schreibberechtigung. IOErrorflash.errors:IOErrorDer Dateispeicherort befindet sich im Anwendungsordner und der fileMode-Parameter ist auf den Modus „anhängen“, „aktualisieren“ oder „schreiben“ gesetzt. SecurityErrorSecurityErrorfileflash.filesystem:FileDas File-Objekt, das die zu öffnende Datei angibt. fileModeStringEin String der FileMode-Klasse, der die Fähigkeiten des FileStreams definiert, zum Beispiel die Fähigkeit, aus der Datei zu lesen oder in die Datei zu schreiben. Öffnet das FileStream-Objekt synchron, wobei auf die im file-Parameter festgelegte Datei verwiesen wird.

Wenn das FileStream-Objekt bereits geöffnet ist, wird die Datei durch den Aufruf dieser Methode vor dem Öffnen geschlossen und es werden keine weiteren Ereignisse (einschließlich close) für die zuvor geöffnete Datei übergegeben.

Auf Systemen, die Dateisperren unterstützen, ist eine Datei, die im Modus „schreiben“ (FileMode.WRITE oder „aktualisieren“ FileMode.UPDATE) geöffnet wurde, erst lesbar, wenn sie geschlossen ist.

Sobald Sie mit den Dateivorgängen fertig sind, rufen Sie die close()-Methode des FileStream-Objekts auf. Manche Betriebssysteme beschränken die Anzahl der gleichzeitig geöffneten Dateien.

Im folgenden Beispiel wird die Datei „test.txt“ im Unterordner „Apollo Test“ des Dokumentordners des Benutzers synchron geöffnet. Dann wird die Datei in einen String gelesen, wobei für die Textkodierung der Systemzeichensatz verwendet wird. import flash.filesystem.*; var file:File = File.documentsDirectory; file = file.resolvePath("Apollo Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); var str:String = fileStream.readMultiByte(file.size, File.systemCharset); trace(str); fileStream.close();
close()FileFileMode
readBoolean Liest einen booleschen Wert vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorEin boolescher Wert. Der Wert ist true, wenn das Byte ungleich 0 ist, oder andernfalls false. Boolean Liest einen booleschen Wert vom Dateistream, Bytestream oder Bytearray. Es wird ein einzelnes Byte gelesen und true zurückgegeben, wenn das Byte ungleich 0 ist; andernfalls wird false zurückgegeben. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readByte Liest ein vorzeichenbehaftetes Byte vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDer Rückgabewert liegt im Bereich von -128 bis 127. int Liest ein vorzeichenbehaftetes Byte vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readBytes Liest die Anzahl der vom length-Parameter angegebenen Datenbyte aus dem Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorbytesflash.utils:ByteArrayDas ByteArray-Objekt, in das die Daten eingelesen werden. offsetuint0Der Offset innerhalb des mit dem Parameter bytes angegebenen Bereichs, ab dem das Lesen der Daten beginnt. lengthuint0Die Anzahl der zu lesenden Byte. Der Standardwert 0 bewirkt, dass alle verfügbaren Daten gelesen werden. Liest die Anzahl der vom length-Parameter angegebenen Datenbyte aus dem Dateistream, Bytestream oder Bytearray. Die Bytedaten werden ab der im Parameter bytes festgelegten Position in das im Parameter offset angegebenen ByteArray-Objekt gelesen. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readDouble Liest eine IEEE 754-Gleitkommazahl mit doppelter Genauigkeit vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorEine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit. Number Liest eine IEEE 754-Gleitkommazahl mit doppelter Genauigkeit vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readFloat Liest eine IEEE 754-Gleitkommazahl mit einfacher Genauigkeit vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorEine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit. Number Liest eine IEEE 754-Gleitkommazahl mit einfacher Genauigkeit vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readInt Liest eine vorzeichenbehaftete 32-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDer Rückgabewert liegt im Bereich von -2147483648 bis 2147483647. int Liest eine vorzeichenbehaftete 32-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readMultiByte Liest einen Multibyte-String der angegebenen Länge unter Verwendung des angegebenen Zeichensatzes vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorEin UTF-8-kodierter String. StringlengthuintDie Anzahl der aus dem Bytestream zu lesenden Byte. charSetStringDer String, der den zum Interpretieren der Byte zu verwendenden Zeichensatz angibt. Mögliche Zeichensatz-Strings sind unter anderem "shift-jis", "cn-gb" und "iso-8859-1". Eine vollständige Liste finden Sie unter Unterstützte Zeichensätze.

Hinweis: Wird der Wert des charSet-Parameters vom aktuellen System nicht erkannt, verwenden Adobe® Flash® Player oder Adobe® AIR® die Standard-Codepage des Systems als Zeichensatz. Beispielsweise kann ein Wert des Parameters charSet wie bei myTest.readMultiByte(22, "iso-8859-01"), wo 01 anstelle von 1 eingesetzt wird, auf Ihrem Entwicklungssystem funktionieren, aber auf keinem anderen System. Auf dem anderen System verwendet Flash Player oder die AIR-Laufzeitumgebung die Standard-Codepage des Systems.

Liest einen Multibyte-String der angegebenen Länge unter Verwendung des angegebenen Zeichensatzes vom Dateistream, Bytestream oder Byte-Array.
File.systemCharsetioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.
readObject Liest ein Objekt vom Dateistream, Bytestream oder Byte-Array, das im serialisierten AMF-Format kodiert ist.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDas deserialisierte Objekt. Liest ein Objekt vom Dateistream, Bytestream oder Byte-Array, das im serialisierten AMF-Format kodiert ist. flash.net.registerClassAlias()ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readShort Liest eine vorzeichenbehaftete 16-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDer Rückgabewert liegt im Bereich von -32768 bis 32767. int Liest eine vorzeichenbehaftete 16-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readUTFBytes Liest eine Folge von UTF-8-Byte der Anzahl vom Byte-Datenstrom oder Byte-Array und gibt einen String zurück.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorEin durch die Bytedarstellung von Zeichen erstellter UTF-8-String der angegebenen Länge. StringlengthuintDie Anzahl der zu lesenden Byte. Liest eine Folge von UTF-8-Byte der Anzahl vom Byte-Datenstrom oder Byte-Array und gibt einen String zurück. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readUTF Liest einen UTF-8-String vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorEin durch die Bytedarstellung von Zeichen erstellter UTF-8-String. String Liest einen UTF-8-String vom Dateistream, Bytestream oder Bytearray. Es wird davon ausgegangen, dass dem String eine short-Ganzzahl ohne Vorzeichen mit der Länge in Byte vorangestellt ist.

Diese Methode entspricht der readUTF()-Methode der Java®-Schnittstelle „IDataInput“.

ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.
readUnsignedByte Liest ein vorzeichenloses Byte vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDer Rückgabewert liegt im Bereich von 0 bis 255. uint Liest ein vorzeichenloses Byte vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readUnsignedInt Liest eine vorzeichenlose 32-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDer Rückgabewert liegt im Bereich von 0 bis 4294967295. uint Liest eine vorzeichenlose 32-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.readUnsignedShort Liest eine vorzeichenlose 16-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Lesefunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorDie Position, die zum Lesen der Daten angegeben wurde, übersteigt die Anzahl der verfügbaren Byte (angegeben durch die bytesAvailable-Eigenschaft). EOFErrorflash.errors:EOFErrorDer Rückgabewert liegt im Bereich von 0 bis 65535. uint Liest eine vorzeichenlose 16-Bit-Ganzzahl vom Dateistream, Bytestream oder Byte-Array. ioErrorflash.events:IOErrorEventDie Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet. Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Die Datei kann nicht gelesen werden oder die Datei ist nicht geöffnet.truncate Schneidet die Datei an der Stelle ab, die durch die position-Eigenschaft des FileStream-Objekts angegeben wird.Die Datei ist nicht zum Schreiben geöffnet. IllegalOperationErrorflash.errors:IllegalOperationError Schneidet die Datei an der Stelle ab, die durch die position-Eigenschaft des FileStream-Objekts angegeben wird.

Byte von der Stelle, die durch die position-Eigenschaft angegeben wird, bis zum Ende der Datei werden gelöscht. Die Datei muss zum Schreiben geöffnet sein.

Im folgenden Beispiel wird die Datei „test.txt“ im Unterordner „Apollo Test“ des Dokumentordners des Benutzers synchron geöffnet. Die Datei wird dann auf eine Länge von 100 Zeichen gekürzt, falls sie länger ist. import flash.filesystem.*; var file:File = File.documentsDirectory; file = file.resolvePath("Apollo Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.UPDATE); if (file.size > 100) { fileStream.position = 100; fileStream.truncate(); } fileStream.close(); Im folgenden Beispiel wird die Datei „test.txt“ im Unterordner „Apollo Test“ des Dokumentordners des Benutzers asynchron geöffnet. Die Datei wird dann auf eine Länge von 100 Zeichen gekürzt, falls sie länger ist. var file:File = File.documentsDirectory; file = file.resolvePath("Apollo Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.openAsync(file, FileMode.UPDATE); trace("start", file.size) if (file.size > 100) { fileStream.position = 100; fileStream.truncate(); } fileStream.addEventListener(Event.CLOSE, fileClosed); fileStream.close(); function fileClosed(event:Event):void { trace("closed", file.size); }
position
writeBoolean Schreibt einen booleschen Wert.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueBooleanEin boolescher Wert, der angibt, welches Byte geschrieben wird. Hat der Parameter den Wert true, wird 1 geschrieben; bei false wird 0 geschrieben. Schreibt einen booleschen Wert. Entsprechend dem Parameter value wird ein einzelnes Byte geschrieben: 1, wenn der Wert true ist oder 0, wenn der Wert false ist. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeByte Schreibt ein Byte.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueintEin Byte-Wert als Ganzzahl. Schreibt ein Byte. Die unteren 8 Bit des Parameters werden verwendet, die oberen 24 Bit werden ignoriert. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeBytes Schreibt eine Bytesequenz vom angegebenen Byte-Array in den Dateistream, Bytestream oder das Byte-Array, beginnend mit dem durch „offset“ festgelegten Byte (unter Verwendung einer auf null basierenden Indexposition) mit einer durch „length“ festgelegten Länge.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorbytesflash.utils:ByteArrayDas zu schreibende Byte-Array. offsetuint0Eine auf null basierende Indexposition, welche die Array-Position festlegt, ab der geschrieben werden soll. lengthuint0Eine vorzeichenlose Ganzzahl, die festlegt, wie viele Byte des Puffers geschrieben werden sollen. Schreibt eine Byte-Sequenz vom angegebenen Bytearray in den Dateistream, Bytestream oder das Bytearray, beginnend mit dem durch offset festgelegten Byte (unter Verwendung einer auf null basierenden Indexposition) mit einer durch length festgelegten Länge.

Wird der Parameter length weggelassen, wird die Standardlänge 0 verwendet und der gesamte Puffer wird ab der Position offset geschrieben. Wird auch der Parameter offset weggelassen, so wird der gesamte Pufferinhalt geschrieben.

Wenn sich die Parameter offset bzw. length außerhalb des gültigen Bereichs befinden, werden sie auf den Anfang bzw. auf das Ende des bytes-Array gesetzt.

ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).
writeDouble Schreibt eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit (64 Bit).Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueNumberEine Gleitkommazahl mit doppelter Genauigkeit (64 Bit). Schreibt eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit (64 Bit). ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeFloat Schreibt eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit (32 Bit).Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueNumberEine Gleitkommazahl mit einfacher Genauigkeit (32 Bit). Schreibt eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit (32 Bit). ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeInt Schreibt eine vorzeichenbehaftete 32-Bit-Ganzzahl.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueintEin Byte-Wert als vorzeichenbehaftete Ganzzahl. Schreibt eine vorzeichenbehaftete 32-Bit-Ganzzahl. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeMultiByte Schreibt einen Multibyte-String unter Verwendung des angegebenen Zeichensatzes in den Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueStringDer String-Wert, der geschrieben werden soll. charSetStringDer String, der den zu verwendenden Zeichensatz angibt. Mögliche Zeichensatz-Strings sind unter anderem "shift-jis", "cn-gb" und "iso-8859-1". Eine vollständige Liste finden Sie unter Unterstützte Zeichensätze. Schreibt einen Multibyte-String unter Verwendung des angegebenen Zeichensatzes in den Dateistream, Bytestream oder Byte-Array. File.systemCharsetioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeObject Schreibt ein Objekt im serialisierten AMF-Format in den Dateistream, Bytestream oder Byte-Array.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorobjectDas zu serialisierende Objekt Schreibt ein Objekt im serialisierten AMF-Format in den Dateistream, Bytestream oder Byte-Array. flash.net.registerClassAlias()ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeShort Schreibt eine 16-Bit-Ganzzahl.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueintEin Byte-Wert als Ganzzahl. Schreibt eine 16-Bit-Ganzzahl. Die unteren 16 Bit des Parameters werden verwendet, die oberen 16 Bit werden ignoriert. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeUTFBytes Schreibt einen UTF-8-String.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueStringDer String-Wert, der geschrieben werden soll. Schreibt einen UTF-8-String. Entspricht writeUTF(), doch dem String wird kein 16-Bit-Wort mit der Längenangabe vorangestellt. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeUTF Schreibt einen UTF-8-String in den Dateistream, Bytestream oder Byte-Array.Wenn die Länge des Strings größer als 65535 ist. RangeErrorRangeErrorDie Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueStringDer String-Wert, der geschrieben werden soll. Schreibt einen UTF-8-String in den Dateistream, Bytestream oder Bytearray. Die Länge des UTF-8-Strings in Byte als 16-Bit-Ganzzahl wird zuerst geschrieben, gefolgt von den Byte für die Zeichen des Strings. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).writeUnsignedInt Schreibt eine vorzeichenlose 32-Bit-Ganzzahl.Die Datei wurde nicht geöffnet; die Datei wurde geöffnet, jedoch nicht mit Schreibfunktionen; oder bei einer Datei, die für synchrone Vorgänge geöffnet wurde (mit der open()-Methode), kann die Datei nicht gelesen werden (weil sie zum Beispiel nicht vorhanden ist). IOErrorflash.errors:IOErrorvalueuintEin Byte-Wert als vorzeichenlose Ganzzahl. Schreibt eine vorzeichenlose 32-Bit-Ganzzahl. ioErrorflash.events:IOErrorEventSie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist). Dieses Ereignis wird nur für Dateien ausgelöst, die für asynchrone Vorgänge geöffnet wurden (mit der openAsync()-Methode). Sie können nicht in die Datei schreiben (zum Beispiel, weil die Datei nicht vorhanden ist).bytesAvailable Gibt für die zum Lesen verfügbaren Daten im Eingabepuffer die Anzahl der Byte an.uint Gibt für die zum Lesen verfügbaren Daten im Eingabepuffer die Anzahl der Byte an. Aus dem Programmcode der Benutzer muss bytesAvailable aufgerufen werden, um sicherzustellen, dass genügend Daten verfügbar sind, bevor diese mit einer der Lesemethoden gelesen werden. endian Die Bytereihenfolge der Daten. Entweder die Konstante BIG_ENDIAN oder LITTLE_ENDIAN der Endian-Klasse.String Die Bytereihenfolge der Daten. Entweder die Konstante BIG_ENDIAN oder LITTLE_ENDIAN der Endian-Klasse. objectEncoding Gibt an, ob das Format AMF3 oder AMF0 verwendet wird, wenn binäre Daten mit der readObject()-Methode gelesen oder mit der writeObject()-Methode geschrieben werden.uint Gibt an, ob das Format AMF3 oder AMF0 verwendet wird, wenn binäre Daten mit der readObject()-Methode gelesen oder der writeObject()-Methode geschrieben werden.

Der Wert ist eine Konstante der ObjectEncoding-Klasse. Standardmäßig wird das Format AMF3 verwendet.

ObjectEncodingreadObject()writeObject()
position Die aktuelle Position in der Datei. Number Die aktuelle Position in der Datei.

Dieser Wert wird auf eine der folgenden Weise geändert:

  • Wenn Sie die Eigenschaft ausdrücklich festlegen
  • Wenn aus dem FileStream-Objekt gelesen wird (mit einer der Lesemethoden)
  • Wenn in das FileStream-Objekt geschrieben wird

Die Position wird als Number (nicht als uint) definiert, um Dateien mit einer Länge von mehr als 232 Byte zu unterstützen. Der Wert dieser Eigenschaft ist immer eine ganze Zahl unter 253. Wenn Sie diesen Wert auf eine Zahl mit Dezimalstellen einstellen, wird der Wert auf die nächste ganze Zahl abgerundet.

Wenn die position-Eigenschaft beim asynchronen Lesen einer Datei festgelegt wird, beginnt die Anwendung, den Lesepuffer mit den Daten ab der angegebenen Position zu füllen und die bytesAvailable-Eigenschaft kann auf 0 gesetzt werden. Warten Sie auf ein complete-Ereignis, bevor Sie eine read-Methode zum Lesen der Daten verwenden oder warten Sie auf ein progress-Ereignis und überprüfen Sie die bytesAvailable-Eigenschaft, bevor Sie eine read-Methode verwenden.

Im folgenden Beispiel wird die position-Eigenschaft des FileStream-Objekts aktualisiert, während die Anwendung Daten aus einer Datei liest. import flash.fileSystem.*; import flash.utils.ByteArray; import flash.events.Event; var sourceFile:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt"); var stream:FileStream = new FileStream(); stream.addEventListener(Event.COMPLETE, readBytes); stream.openAsync(sourceFile, FileMode.READ); function readBytes(e:Event):void { var bytes:ByteArray = new ByteArray(); trace("position 0:", stream.position); // 0 bytes[0] = stream.readByte(); trace("position 1:", stream.position); // 1 fileStream.readBytes(bytes, stream.position, 4); trace("position 2:", stream.position); // 5 stream.close(); }
readAhead Die Mindestmenge Daten, die beim asynchronen Lesen von Dateien von der Festplatte gelesen werden.Number Die Mindestmenge Daten, die beim asynchronen Lesen von Dateien von der Festplatte gelesen werden.

Diese Eigenschaft legt fest, wie viele Daten ein asynchroner Stream hinter der aktuellen Position zu lesen versucht. Daten werden in Blöcken gelesen, die auf der Seitengröße des Dateisystems basieren. Wenn Sie also readAhead auf einem Computersystem mit einer Seitengröße von 8KB (8192 Byte) auf 9.000 setzen, liest die Laufzeitumgebung jeweils 2 Blöcke, oder 16384 Bytes, voraus. Der Standardwert dieser Eigenschaft ist unendlich; standardmäßig wird eine zum asynchronen Lesen geöffnete Datei bis zum Ende der Datei gelesen.

Das Lesen der Daten aus dem Lesepuffer ändert nicht den Wert der readAhead-Eigenschaft. Wenn Sie Daten aus dem Puffer lesen, werden neue Daten eingelesen, um den Lesepuffer zu füllen.

Die readAhead-Eigenschaft hat keine Auswirkung auf eine synchron geöffnete Datei.

Während Daten asynchron eingelesen werden, löst das FileStream-Objekt progress-Ereignisse aus. Überprüfen Sie in der Ereignisprozedurmethode des progress-Ereignisses, ob die erforderliche Anzahl an Bytes verfügbar ist (indem Sie die bytesAvailable-Eigenschaft überprüfen) und lesen Sie die Daten dann mit einer Lesemethode aus dem Lesepuffer.

Im folgenden Beispiel wird mit der readAhead-Eigenschaft die Datenmenge, die in eine Datei gelesen wird, auf 100 Byte begrenzt: import flash.filesystem.*; var file:File = File.desktopDirectory.resolvePath("test.txt"); var fileStream:FileStream = new FileStream(); fileStream.readAhead = 100; fileStream.addEventListener(ProgressEvent.PROGRESS, readProgressHandler) fileStream.openAsync(file, FileMode.READ); var results:ByteArray; function readProgressHandler(event:ProgressEvent):void { if (fileStream.bytesAvailable >= 100) { fileStream.readBytes(results, 0, 100); } }
FileMode Die FileMode-Klasse definiert Stringkonstanten, die im fileMode-Parameter der Methoden open() und openAsync() der FileStream-Klasse verwendet werden.Object Die FileMode-Klasse definiert Stringkonstanten, die im fileMode-Parameter der Methoden open() und openAsync() der FileStream-Klasse verwendet werden. Der fileMode-Parameter dieser Methoden bestimmt die Möglichkeiten des FileStream-Objekts, nachdem die Datei geöffnet wurde.

Die folgenden Funktionen stehen in verschiedenen Kombinationen zur Verfügung, basierend auf der im fileMode-Parameterwert festgelegten open-Methode:

  • Lesen – Das FileStream-Objekt kann Daten aus der Datei lesen.
  • Schreiben – Das FileStream-Objekt kann Daten in die Datei schreiben.
  • Erstellen – Das FileStream-Objekt erstellt beim Öffnen eine nicht vorhandene Datei.
  • Beim Öffnen kürzen – Daten in der Datei werden beim Öffnen gelöscht (bevor Daten geschrieben werden).
  • Geschriebene Daten anhängen – Daten werden immer an das Ende der Datei geschrieben (wenn eine Schreibmethode aufgerufen wird).

In der folgenden Tabelle sind die Funktionen aller Konstanten in der FileMode-Klasse aufgeführt, die als fileMode-Parameter einer open-Methode eines FileStream-Objekts zur Verfügung stehen:

FileMode-KonstanteLesenSchreibenErstellenBeim Öffnen kürzenGeschriebene Daten anhängenREAD WRITE APPEND UPDATE
FileStream.open()FileStream.openAsync()APPEND Wird verwendet für eine Datei, die im Schreibmodus geöffnet wird, wobei alle geschriebenen Daten an das Ende der Datei angehängt werden.appendString Wird verwendet für eine Datei, die im Schreibmodus geöffnet wird, wobei alle geschriebenen Daten an das Ende der Datei angehängt werden. Beim Öffnen werden nicht vorhandene Dateien erstellt. READ Wird verwendet für eine Datei, die im schreibgeschützten Modus geöffnet wird.readString Wird verwendet für eine Datei, die im schreibgeschützten Modus geöffnet wird. Die Datei muss vorhanden sein (fehlende Dateien werden nicht erstellt). UPDATE Wird verwendet für eine Datei, die im Lesen/Schreiben-Modus geöffnet wird.updateString Wird verwendet für eine Datei, die im Lesen/Schreiben-Modus geöffnet wird. Beim Öffnen werden nicht vorhandene Dateien erstellt. WRITE Wird verwendet für eine Datei, die im lesegeschützten Modus geöffnet wird.writeString Wird verwendet für eine Datei, die im lesegeschützten Modus geöffnet wird. Beim Öffnen werden nicht vorhandene Dateien erstellt und vorhandene Dateien gekürzt (die darin enthaltenen Daten werden gelöscht).
StorageVolumeInfo Das StorageVolumeInfo-Objekt setzt ein StorageVolumeChangeEvent-Objekt ab, wenn ein Speichervolume bereitgestellt oder seine Bereitstellung aufgehoben wird.flash.events:EventDispatcher Das StorageVolumeInfo-Objekt setzt ein StorageVolumeChangeEvent-Objekt ab, wenn ein Speichervolume bereitgestellt oder seine Bereitstellung aufgehoben wird. Die statische StorageVolume.storageVolume-Eigenschaft verweist auf das StorageVolumeInfo-Singleton-Objekt, das die Ereignisse absetzt. Die StorageVolumeInfo-Klasse definiert auch eine getStorageVolumes-Methode für die Überwachung der zurzeit bereitgestellten Speichervolumes.

Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf allen Geräten mit AIR für TV. Bei mobilen Geräten wird sie ebenfalls nicht unterstützt. Mit der StorageVolumeInfo.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

In modernen Linux-Distributionen setzt das StorageVolumeInfo-Objekt nur storageVolumeMount- und storageVolumeUnmount-Ereignisse für physische Geräte und Netzwerkgeräte ab, die an bestimmten Orten bereitgestellt werden.

storageVolumeUnmount Wird abgesetzt, wenn die Bereitstellung eines Speichervolumes aufgehoben wird.flash.events.StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNTflash.events.StorageVolumeChangeEvent Wird abgesetzt, wenn die Bereitstellung eines Speichervolumes aufgehoben wird.

In modernen Linux-Distributionen setzt das StorageVolumeInfo-Objekt nur storageVolumeMount- und storageVolumeUnmount-Ereignisse für physische Geräte und Netzwerkgeräte ab, die an bestimmten Orten bereitgestellt werden.

storageVolumeMount Wird abgesetzt, wenn ein Speichervolume gemountet wird.flash.events.StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNTflash.events.StorageVolumeChangeEvent Wird abgesetzt, wenn ein Speichervolume gemountet wird.

In modernen Linux-Distributionen setzt das StorageVolumeInfo-Objekt nur storageVolumeMount- und storageVolumeUnmount-Ereignisse für physische Geräte und Netzwerkgeräte ab, die an bestimmten Orten bereitgestellt werden.

getStorageVolumes Gibt einen Vektor mit StorageVolume-Objekten zurück, die den zurzeit gemounteten Speichervolumes entsprechen. Gibt einen Vektor mit StorageVolume-Objekten zurück, die den zurzeit gemounteten Speichervolumes entsprechen.

In modernen Linux-Distributionen gibt diese Methode Objekte zurück, die physischen Geräten und Netzwerkgeräten entsprechen, die an bestimmten Orten bereitgestellt werden.

Mit dem folgenden Code wird der native Pfad für das Stammverzeichnis der einzelnen bereitgestellten Speichervolumes aufgelistet. var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].rootDirectory.nativePath); }
flash.filesystem.StorageVolume
isSupported Die isSupported-Eigenschaft hat den Wert „true“, wenn die StorageVolumeInfo-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert „false“.Boolean Die isSupported-Eigenschaft hat den Wert true, wenn die StorageVolumeInfo-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert false. storageVolumeInfo Die Singleton-Instanz des StorageVolumeInfo-Objekts.flash.filesystem:StorageVolumeInfo Die Singleton-Instanz des StorageVolumeInfo-Objekts. Registrieren Sie Ereignis-Listener auf diesem Objekt für die storageVolumeMount- und storageVolumeUnmount-Ereignisse.
File Ein File-Objekt stellt einen Pfad zu einer Datei oder einem Ordner dar.flash.net:FileReference Ein File-Objekt stellt einen Pfad zu einer Datei oder einem Ordner dar. Dabei kann es sich um eine vorhandene oder noch nicht vorhandene Datei (bzw. Ordner) handeln, zum Beispiel kann es den Pfad zu einer zu erstellenden Datei (oder Ordner) darstellen.

Die File-Klasse verfügt über verschiedene Eigenschaften und Methoden für das Abrufen von Informationen zum Dateisystem und zum Ausführen von Vorgängen (z. B Kopieren von Dateien und Ordnern).

Sie können File-Objekte zusammen mit der FileStream-Klasse verwenden, um Dateien zu lesen und zu schreiben.

Die File-Klasse erweitert die FileReference-Klasse. Die FileReference-Klasse, die sowohl in Flash® Player als auch in Adobe® AIR® verfügbar ist, stellt einen Zeiger auf eine Datei dar. Die File-Klasse fügt jedoch Eigenschaften und Methoden hinzu, die aus Sicherheitsgründen in Flash Player (in einer SWF-Datei, die in einem Browser ausgeführt wird) nicht angezeigt werden.

Die File-Klasse enthält statische Eigenschaften, mit denen Sie auf häufig verwendete Ordnerspeicherorte verweisen können. Zu diesen statischen Eigenschaften gehören:

  • File.applicationStorageDirectory: ein für jede der installierten AIR-Anwendungen eindeutiger Speicherordner
  • File.applicationDirectory: der schreibgeschützte Ordner, in dem die Anwendung (ggf. zusammen mit Assets) installiert ist
  • File.desktopDirectory: der Desktopordner des Benutzers
  • File.documentsDirectory: der Dokumentordner des Benutzers
  • File.userDirectory: der Benutzerordner

Diese Eigenschaften verfügen auf verschiedenen Betriebssystemen über verschiedene gültige Werte. Beispiel: Unter Mac OS, Linux und Windows sind die nativen Pfade zum Desktopordner des Benutzers jeweils unterschiedlich. Die File.desktopDirectory-Eigenschaft verweist jedoch auf den richtigen Desktopordnerpfad für diese Plattformen. Wenn Ihre Anwendungen auf allen Plattformen funktionieren sollen, verwenden Sie diese Eigenschaften als Basis für Verweise auf andere von der Anwendung verwendete Dateien. Verwenden Sie anschließend die resolvePath()-Methode für die genauere Festlegung des Pfads. Der nachfolgende Code verweist z. B. auf die Datei „preferences.xml“ im Speicherordner der Anwendung.

var prefsFile:File = File.applicationStorageDirectory; prefsFile = prefsFile.resolvePath("preferences.xml");

Wenn Sie beim Verweis auf eine Datei den genauen nativen Pfad verwenden, funktioniert der Verweis nur auf einer Plattform. Das folgende File-Objekt würde beispielsweise nur unter Windows funktionieren:

new File("C:\Documents and Settings\joe\My Documents\test.txt")

Der Anwendungsspeicherordner ist besonders hilfreich. Er gibt einen anwendungsspezifischen Speicherordner für die AIR-Anwendung an. Er wird in der File.applicationStorageDirectory-Eigenschaft festgelegt.

Es dürfen keine Inhalte aus dem Anwendungsordner (der Ordner, in dem die AIR-Anwendung installiert ist) entfernt oder diesem hinzugefügt werden. Dadurch könnte die AIR-Anwendung beschädigt und die Anwendungssignatur ungültig werden. Standardmäßig lässt AIR Sie nicht in den Anwendungsordner schreiben, da dieses für alle Benutzerkonten auf allen Betriebssystemen schreibgeschützt ist. Verwenden Sie den Anwendungsspeicherordner, um interne Anwendungsdateien zu schreiben. Verwenden Sie den Dokumentordner, um Dateien zu schreiben, die Benutzer außerhalb Ihrer Anwendung verwenden, z. B. bearbeitete Bild- oder Textdateien.

FileStreamdirectoryListing Wird ausgelöst, wenn eine Ordnerliste als Ergebnis eines Aufrufs der getDirectoryListingAsync()-Methode verfügbar ist.flash.events.FileListEvent.DIRECTORY_LISTINGflash.events.FileListEvent Wird ausgelöst, wenn eine Ordnerliste als Ergebnis eines Aufrufs der getDirectoryListingAsync()-Methode verfügbar ist. File.getDirectoryListingAsync()selectMultiple Wird ausgelöst, wenn der Benutzer Dateien aus einem Dialogfeld auswählt, das durch den Aufruf der browseForOpenMultiple()-Methode geöffnet wurde.flash.events.FileListEvent.SELECT_MULTIPLEflash.events.FileListEvent Wird ausgelöst, wenn der Benutzer Dateien aus einem Dialogfeld auswählt, das durch den Aufruf der browseForOpenMultiple()-Methode geöffnet wurde. browseForOpenMultiple()select Wird ausgelöst, wenn der Benutzer eine Datei oder einen Ordner aus einem Dialogfeld zur Datei- oder Ordnernavigation auswählt.flash.events.Event.SELECTflash.events.Event Wird ausgelöst, wenn der Benutzer eine Datei oder einen Ordner aus einem Dialogfeld zur Datei- oder Ordnernavigation auswählt. securityError Wird ausgelöst, wenn ein Vorgang eine Sicherheitsbeschränkung verletzt.flash.events.SecurityErrorEvent.SECURITY_ERRORflash.events.SecurityErrorEvent Wird ausgelöst, wenn ein Vorgang eine Sicherheitsbeschränkung verletzt. ioError Wird ausgelöst, wenn während eines asynchronen Dateivorgangs ein Fehler auftritt.flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent Wird ausgelöst, wenn während eines asynchronen Dateivorgangs ein Fehler auftritt. complete Wird ausgelöst, wenn ein asynchroner Vorgang abgeschlossen ist.flash.events.Event.COMPLETEflash.events.Event Wird ausgelöst, wenn ein asynchroner Vorgang abgeschlossen ist. cancel Wird ausgelöst, wenn ein ausstehender asynchroner Vorgang abgebrochen wird.flash.events.Event.CANCELflash.events.Event Wird ausgelöst, wenn ein ausstehender asynchroner Vorgang abgebrochen wird. File Die Konstruktorfunktion für die File-Klasse.Die Syntax des path-Parameters ist ungültig. ArgumentErrorArgumentErrorpathStringnullDer Pfad zu der Datei. Sie können den Pfad mit einer URL oder in der (plattformspezifischen) Schreibweise für native Pfade festlegen.

Wenn Sie eine URL angeben, können Sie eines der folgenden URL-Schemas verwenden: file, app oder app-storage. Die folgenden Werte sind gültige Werte für den path-Parameter unter Verwendung der URL-Schreibweise:

  • "app:/DesktopPathTest.xml"
  • "app-storage:/preferences.xml"
  • "file:///C:/Documente%20und%20Einstellungen/bob/Desktop" (der Desktop auf dem Windows-Computer von Bob)
  • "file:///Users/bob/Desktop" (der Desktop auf dem Mac-Computer von Bob)

Die app- und app-storage-URL-Schemas sind hilfreich, weil sie auf allen Dateisystemen auf eine gültige Datei verweisen können. In den beiden anderen Beispielen, die das file-URL-Schema verwenden, um auf den Desktopordner des Benutzers zu verweisen, wäre es jedoch besser, kein path-Argument an den File()-Konstruktor zu übergeben und dann dem File.desktopDirectory-File-Objekt zuzuweisen. Dies ist eine plattform- und benutzerunabhängige Möglichkeit, auf den Desktopordner zuzugreifen.

Wenn Sie einen nativen Pfad angeben, können Sie unter Windows entweder den umgekehrten Schrägstrich oder den Schrägstrich als Pfadtrennzeichen in diesem Argument verwenden. Unter Mac OS und Linux verwenden Sie den Schrägstrich. Die folgenden Werte sind gültige Werte für den path-Parameter unter Verwendung der Nativer-Pfad-Schreibweise:

  • "C:/Dokumente und Einstellungen/bob/Desktop"
  • "/Users/bob/Desktop"

Für diese beiden Beispiele sollten Sie jedoch kein path-Argument an den File()-Konstruktor übergeben und dann dem File.desktopDirectory-File-Objekt zuweisen. Dies ist eine plattform- und benutzerunabhängige Möglichkeit, auf den Desktopordner zuzugreifen.

Die Konstruktorfunktion für die File-Klasse.

Wenn Sie ein path-Argument übergeben, zeigt das File-Objekt auf den angegebenen Pfad und die Eigenschaften nativePath und url werden diesem Pfad entsprechend eingestellt.

Obwohl Sie zum Festlegen eines Dateipfads ein path-Argument übergeben können, sollten Sie überlegen, ob dadurch vielleicht plattformspezifischer Code entsteht. Beispiel: Ein nativer Pfad wie "C:\\Dokumente und Einstellungen\\klaus\\Desktop" oder eine URL wie "file:///C:/Dokumente%20und%20Einstellungen/klaus/Desktop" ist nur unter Windows gültig. Es ist besser, stattdessen die folgenden statischen Eigenschaften zu verwenden, die häufig verwendete Ordner repräsentieren und auf allen Plattformen gültig sind:

  • File.applicationDirectory
  • File.applicationStorageDirectory
  • File.desktopDirectory
  • File.documentsDirectory
  • File.userDirectory

Mit der resolvePath()-Methode erhalten Sie einen Pfad relativ zu diesen Ordnern. Beispiel: Mithilfe des folgenden Codes verweist ein File-Objekt auf die Datei „settings.xml“ im Anwendungsspeicherordner:

var file:File = File.applicationStorageDirectory.resolvePath("settings.xml");

Wichtig: Wenn Sie im path-Parameter einen URL-String übergeben, wird die URL dekodiert, um den Dateipfad aufzulösen. Die Anweisung new File("file:///c:/test/demo%20file%201%2e0.txt") erstellt zum Beispiel ein File-Objekt mit dem nativen Pfad "c:\test\demo file 1.0.txt". (Eine URL verwendet das Schemapräfix „file:“, „app:“ oder „app-storage:“.) Wenn die gültigen URL-Präfixe ausgelassen werden, wird der Pfadstring wie ein nativer Pfad behandelt und es findet keine Dekodierung statt. Sie müssen dieses Verhalten beim Validieren von Pfaden, die aus potenziell nicht vertrauenswürdigen Quellen stammen, berücksichtigen. Wenn Sie einfach den Eingabestring validieren, kann ein Angreifer Ihre Validierungsüberprüfungen mithilfe der URL-Dekodierung möglicherweise umgehen. Validieren Sie immer den endgültigen Pfad des instanziierten File-Objekts:

var file:File = new File( taintedString ); validate( file.nativePath ); //where validate() is your path validation function
nativePath
browseForDirectory Zeigt ein Dialogfeld zur Ordnerauswahl an, in dem der Benutzer einen Ordner auswählen kann.Ein Durchsuchen-Vorgang (browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory()) wird zurzeit ausgeführt. IllegalOperationErrorflash.errors:IllegalOperationErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen. SecurityErrorSecurityErrortitleStringDer String, der in der Titelleiste des Dialogfelds angezeigt wird. Zeigt ein Dialogfeld zur Ordnerauswahl an, in dem der Benutzer einen Ordner auswählen kann. Wenn der Benutzer den Ordner auswählt, wird das select-Ereignis ausgelöst. Die target-Eigenschaft des select-Ereignisses ist das File-Objekt, das auf den ausgewählten Ordner weist.

Das Dialogfeld für die Ordnerauswahl wird nicht immer vor Fenstern angezeigt, die das „Eigentum“ eines anderen Fensters sind (Fenster, deren owner-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.

Hinweis: Bei Android-Geräten wird browseForDirectory() nicht unterstützt. Das File-Objekt setzt sofort ein cancel-Ereignis ab.

Im folgenden Beispiel wird die File.browseForDirectory()-Methode verwendet, damit der Benutzer einen Ordner auswählen kann. Wenn der Ordner ausgewählt ist, listet der Code den Inhalt des ausgewählten Ordners in der trace()-Ausgabe aus. import flash.filesystem.File; import flash.events.Event; var directory:File = File.documentsDirectory; try { directory.browseForDirectory("Select Directory"); directory.addEventListener(Event.SELECT, directorySelected); } catch (error:Error) { trace("Failed:", error.message); } function directorySelected(event:Event):void { directory = event.target as File; var files:Array = directory.getDirectoryListing(); for(var i:uint = 0; i < files.length; i++) { trace(files[i].name); } }
browseForOpen()browseForSave()selectflash.net.FileFiltercancelflash.events:EventWird ausgelöst, wenn der Benutzer im Dialogfeld „Datei öffnen“ auf die Schaltfläche „Abbrechen“ klickt. Wird ausgelöst, wenn der Benutzer im Dialogfeld „Datei öffnen“ auf die Schaltfläche „Abbrechen“ klickt.selectflash.events:EventWird ausgelöst, wenn der Benutzer einen Ordner auswählt und das Dialogfeld zur Ordnerauswahl schließt. Wird ausgelöst, wenn der Benutzer einen Ordner auswählt und das Dialogfeld zur Ordnerauswahl schließt.ioErrorflash.events:IOErrorEventDer Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt. Der Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt.
browseForOpenMultiple Zeigt ein Dialogfeld „Datei öffnen“ an, in dem der Benutzer eine oder mehrere Dateien zum Öffnen auswählen kann.Ein Durchsuchen-Vorgang (browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory()) wird zurzeit ausgeführt. IllegalOperationErrorflash.errors:IllegalOperationErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen. SecurityErrorSecurityErrortitleStringDer String, der in der Titelleiste des Dialogfelds angezeigt wird. typeFilterArraynullEin Array mit FileFilter-Instanzen zur Filterung der im Dialogfeld angezeigten Dateien. Wenn Sie diesen Parameter weglassen, werden alle Dateien angezeigt. Weitere Informationen finden Sie im Abschnitt zur FileFilter-Klasse. Zeigt ein Dialogfeld „Datei öffnen“ an, in dem der Benutzer eine oder mehrere Dateien zum Öffnen auswählen kann.

Wenn der Benutzer die Dateien auswählt, wird das selectMultiple-Ereignis ausgelöst. Die target-Eigenschaft des select-Ereignisses ist dieses File-Objekt. Anders als bei browseForOpen() wird mit der browseForOpenMultiple()-Methode dieses File-Objekt nicht aktualisiert, um auf eine der ausgewählten Dateien zu verweisen. Stattdessen enthält das daraus resultierende selectMultiple-Ereignis ein Array mit den ausgewählten Dateien.

Das Dialogfeld zum Öffnen von Dateien wird nicht immer vor Fenstern angezeigt, die das „Eigentum“ eines anderen Fensters sind (Fenster, deren owner-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.

Hinweis: Bei Android-Geräten kann der Dateidialogtitel nicht festgelegt werden. Der title-Parameter wird ignoriert.

Im folgenden Beispiel wird die File.browseForOpenMultiple()-Methode verwendet, damit der Benutzer mehrere Dateien auswählen kann. Wenn die Dateien ausgewählt sind, gibt der Code deren Pfade aus. import flash.filesystem.*; import flash.events.FileListEvent; var docsDir:File = File.documentsDirectory; try { docsDir.browseForOpenMultiple("Select Files"); docsDir.addEventListener(FileListEvent.SELECT_MULTIPLE, filesSelected); } catch (error:Error) { trace("Failed:", error.message); } function filesSelected(event:FileListEvent):void { for (var i:uint = 0; i < event.files.length; i++) { trace(event.files[i].nativePath); } }
browseForSave()browseForOpen()browseForDirectory()selectMultipleflash.net.FileFiltercancelflash.events:EventWird ausgelöst, wenn der Benutzer im Dialogfeld „Datei öffnen“ auf die Schaltfläche „Abbrechen“ klickt. Wird ausgelöst, wenn der Benutzer im Dialogfeld „Datei öffnen“ auf die Schaltfläche „Abbrechen“ klickt.selectMultipleflash.events:FileListEventWird ausgelöst, wenn der Benutzer Dateien auswählt und das Dialogfeld „Datei öffnen“ schließt. Wird ausgelöst, wenn der Benutzer Dateien auswählt und das Dialogfeld „Datei öffnen“ schließt.ioErrorflash.events:IOErrorEventDer Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt. Der Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt.
browseForOpen Zeigt das Dialogfeld „Datei öffnen“ an, in dem der Benutzer eine Datei zum Öffnen auswählen kann.Ein Durchsuchen-Vorgang (browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory()) wird zurzeit ausgeführt. IllegalOperationErrorflash.errors:IllegalOperationErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen. SecurityErrorSecurityErrortitleStringDer String, der in der Titelleiste des Dialogfelds angezeigt wird. typeFilterArraynullEin Array mit FileFilter-Instanzen zur Filterung der im Dialogfeld angezeigten Dateien. Wenn Sie diesen Parameter weglassen, werden alle Dateien angezeigt. Weitere Informationen finden Sie im Abschnitt zur FileFilter-Klasse. Zeigt das Dialogfeld „Datei öffnen“ an, in dem der Benutzer eine Datei zum Öffnen auswählen kann.

Wenn der Benutzer die Datei auswählt, wird das select-Ereignis ausgelöst. Die target-Eigenschaft des select-Ereignisses ist das File-Objekt, das auf die ausgewählte Datei weist.

Das Dialogfeld zum Öffnen von Dateien wird nicht immer vor Fenstern angezeigt, die das „Eigentum“ eines anderen Fensters sind (Fenster, deren owner-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.

Hinweis: Bei Android-Geräten kann der Dateidialogtitel nicht festgelegt werden. Der title-Parameter wird ignoriert.

Im folgenden Beispiel wird die File.browseForOpen()-Methode verwendet, damit der Benutzer eine Textdatei auswählen kann. Wenn die Datei ausgewählt ist, liest der Code die Dateidaten in einen String. import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; var fileToOpen:File = new File(); var txtFilter:FileFilter = new FileFilter("Text", "*.as;*.css;*.html;*.txt;*.xml"); try { fileToOpen.browseForOpen("Open", [txtFilter]); fileToOpen.addEventListener(Event.SELECT, fileSelected); } catch (error:Error) { trace("Failed:", error.message); } function fileSelected(event:Event):void { var stream:FileStream = new FileStream(); stream.open(event.target, FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); trace(fileData); }
browseForSave()browseForOpenMultiple()browseForDirectory()selectflash.net.FileFiltercancelflash.events:EventWird ausgelöst, wenn der Benutzer im Dialogfeld „Datei öffnen“ auf die Schaltfläche „Abbrechen“ klickt. Wird ausgelöst, wenn der Benutzer im Dialogfeld „Datei öffnen“ auf die Schaltfläche „Abbrechen“ klickt.selectflash.events:EventWird ausgelöst, wenn der Benutzer eine Datei auswählt und das Dialogfeld „Datei öffnen“ schließt. Wird ausgelöst, wenn der Benutzer eine Datei auswählt und das Dialogfeld „Datei öffnen“ schließt.ioErrorflash.events:IOErrorEventDer Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt. Der Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt.
browseForSave Zeigt ein Dialogfeld zum Speichern der Datei an, in dem der Benutzer einen Speicherort auswählen kann.Ein Durchsuchen-Vorgang (browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory()) wird zurzeit ausgeführt. IllegalOperationErrorflash.errors:IllegalOperationErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen. SecurityErrorSecurityErrortitleStringDer String, der in der Titelleiste des Dialogfelds angezeigt wird. Zeigt ein Dialogfeld zum Speichern der Datei an, in dem der Benutzer einen Speicherort auswählen kann.

Wenn der Benutzer die Datei auswählt, wird das select-Ereignis ausgelöst. Die target-Eigenschaft des select-Ereignisses ist das File-Objekt, das auf das ausgewählte Save-Ziel weist.

Das Dialogfeld zum Speichern von Dateien wird nicht immer vor Fenstern angezeigt, die das „Eigentum“ eines anderen Fensters sind (Fenster, deren owner-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.

Hinweis: Bei Android-Geräten kann der Dateidialogtitel nicht festgelegt werden. Der title-Parameter wird ignoriert.

Im folgenden Beispiel wird die File.browseForSave()-Methode verwendet, damit der Benutzer einen Pfad zum Speichern der Datei auswählen kann. Wenn die Dateien ausgewählt sind, speichert der Code Daten in den ausgewählten Dateipfad. import flash.filesystem.*; import flash.events.Event; var docsDir:File = File.documentsDirectory; try { docsDir.browseForSave("Save As"); docsDir.addEventListener(Event.SELECT, saveData); } catch (error:Error) { trace("Failed:", error.message); } function saveData(event:Event):void { var newFile:File = event.target as File; var str:String = "Hello."; if (!newFile.exists) { var stream:FileStream = new FileStream(); stream.open(newFile, FileMode.WRITE); stream.writeUTFBytes(str); stream.close(); } }
browseForDirectory()browseForOpen()selectflash.net.FileFiltercancelflash.events:EventWird ausgelöst, wenn der Benutzer im Dialogfeld „Save File“ (Datei speichern) auf die Schaltfläche „Cancel“ (Abbrechen) klickt. Wird ausgelöst, wenn der Benutzer im Dialogfeld „Save File“ (Datei speichern) auf die Schaltfläche „Cancel“ (Abbrechen) klickt.selectflash.events:EventWird ausgelöst, wenn der Benutzer eine Datei auswählt und das Dialogfeld „Save File“ (Datei speichern) schließt. Wird ausgelöst, wenn der Benutzer eine Datei auswählt und das Dialogfeld „Save File“ (Datei speichern) schließt.ioErrorflash.events:IOErrorEventDer Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt. Der Durchsuchen-Vorgang wird auf dieser Plattform nicht unterstützt.
cancel Bricht alle ausstehenden asynchronen Vorgänge ab. Bricht alle ausstehenden asynchronen Vorgänge ab. canonicalize Kanonisiert den File-Pfad (macht ihn vorschriftsmäßig). Kanonisiert den File-Pfad (macht ihn vorschriftsmäßig).

Wenn das File-Objekt eine vorhandene Datei oder einen vorhandenen Ordner repräsentiert, wird der Pfad bei der Kanonisierung korrigiert, sodass die Groß- und Kleinschreibung dem tatsächlichen Datei- oder Ordnernamen entspricht. Wenn es sich bei dem File-Objekt um einen symbolischen Link handelt, wird er Pfad bei der Kanonisierung so korrigiert, dass er der Datei oder dem Ordner entspricht, auf den der Link zeigt, unabhängig davon, ob die Datei oder der Ordner tatsächlich vorhanden ist. Bei Dateisystemen, die die Groß-/Kleinschreibung berücksichtigen (z. B. unter Linux), passt die canonicalize()-Methode im Fall von mehreren Dateien mit den gleichen Dateinamen, die sich nur in der Groß-/Kleinschreibung unterscheiden, den Pfad auf die erste gefundene Datei an (die Reihenfolge wird durch das Dateisystem bestimmt).

Zusätzlich werden bei der Kanonisierung unter Windows kurze Dateinamen in lange umgewandelt.

Im folgenden Beispiel wird die canonicalize()-Methode verwendet, um die richtige Groß- und Kleinschreibung eines Verzeichnisnamens zu finden. Erstellen Sie einen Ordner mit dem Namen „AIR Test“ auf dem Desktop Ihres Computers, bevor Sie dieses Beispiel ausführen. import flash.filesystem.*; var path:File = File.desktopDirectory.resolvePath("air test"); trace(path.nativePath); path.canonicalize(); trace(path.nativePath); // ...\AIR Test Im folgenden Beispiel wird die canonicalize()-Methode verwendet, um anhand des kurzen Namens den langen Namen eins Windows-Verzeichnisses zu finden. Im Beispiel wird davon ausgegangen, dass es im Stamm des C:-Laufwerks ein Verzeichnis „AIR Test“ gibt und dass das System dem Verzeichnis den Kurznamen „AIR~1“ zugewiesen hat. import flash.filesystem.*; var path:File = new File(); path.nativePath = "C:\\AIR~1"; path.canonicalize(); trace(path.nativePath); // C:\AIR Test
clone Gibt eine Kopie dieses File-Objekts zurück.flash.filesystem:File Gibt eine Kopie dieses File-Objekts zurück. Ereignisregistrierungen werden nicht kopiert.

Hinweis: Diese Methode kopiert nicht die Datei selbst. Sie erstellt lediglich eine Kopie der Instanz des ActionScript --File-Objekts. Verwenden Sie die copyTo()-Methode, um eine Datei zu kopieren.

copyToAsync Beginnt mit dem Kopieren der Datei oder des Verzeichnisses am Speicherort, der durch dieses File-Objekt angegeben wird, an den Speicherort, der durch den destination-Parameter angegeben wird.Die Anwendung verfügt nicht über die erforderlichen Berechtigungen, um auf das Ziel zu schreiben. SecurityErrorSecurityErrornewLocationflash.net:FileReferenceDas Ziel der neuen Datei. Beachten Sie, dass dieses File-Objekt die resultierende (kopierte) Datei bzw. das Verzeichnis angibt, nicht den Pfad zum Verzeichnis, das die Datei oder das Verzeichnis enthält. overwriteBooleanfalseBei der Einstellung false schlägt der Kopiervorgang fehl, wenn die durch die target-Datei festgelegte Datei bereits vorhanden ist. Bei der Einstellung true werden alle Dateien oder Ordner mit demselben Namen überschrieben. Beginnt mit dem Kopieren der Datei oder des Verzeichnisses am Speicherort, der durch dieses File-Objekt angegeben wird, an den Speicherort, der durch den destination-Parameter angegeben wird.

Nach dem Abschluss wird entweder ein complete-Ereignis (erfolgreich) oder ein ioError-Ereignis (nicht erfolgreich) ausgelöst. Beim Kopieren werden die erforderlichen übergeordneten Verzeichnisse erstellt (falls möglich).

Im folgenden Beispiel wird eine Datei mit der copyToAsync()-Methode kopiert. Erstellen Sie eine Datei mit dem Namen test1.txt im Unterverzeichnis „AIR Test“ des Dokumenteverzeichnisses auf Ihrem Computer, bevor Sie diesen Code ausführen. Die resultierende kopierte Datei wird test2.txt genannt und befindet sich ebenfalls im Unterverzeichnis „AIR Test“. Wenn der overwrite-Parameter auf true gesetzt wird, wird eine ggf. vorhandene Datei namens „test2.txt“ überschrieben. import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); sourceFile.copyToAsync(destination, true); sourceFile.addEventListener(Event.COMPLETE, fileCopiedHandler); function fileCopiedHandler(event:Event):void { trace("Done."); }
copyTo()moveToAsync()completeflash.events:EventWird ausgelöst, wenn die Datei oder das Verzeichnis erfolgreich kopiert wurde. Wird ausgelöst, wenn die Datei oder das Verzeichnis erfolgreich kopiert wurde.ioErrorflash.events:IOErrorEventDie Quelle existiert nicht; oder das Ziel existiert und overwrite ist false; oder die Quelle konnte nicht ins Ziel kopiert werden; oder die Quelle und das Ziel verweisen auf dieselbe Datei oder denselben Ordner und overwrite ist auf true gesetzt. Unter Windows können Sie eine Datei, die zurzeit geöffnet ist, oder ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht kopieren. Die Quelle existiert nicht; oder das Ziel existiert und „overwrite“ ist „false“; oder die Quelle konnte nicht ins Ziel kopiert werden; oder die Quelle und das Ziel verweisen auf dieselbe Datei oder denselben Ordner und „overwrite“ ist auf „true“ gesetzt.
copyTo Kopiert die Datei oder den Ordner vom Speicherort, der durch dieses File-Objekt festgelegt ist, an den Speicherort, der im newLocation-Parameter festgelegt ist.Die Quelle existiert nicht; oder das Ziel existiert und overwrite ist false; oder die Quelle konnte nicht ins Ziel kopiert werden; oder die Quelle und das Ziel verweisen auf dieselbe Datei oder denselben Ordner und overwrite ist auf true gesetzt. Unter Windows können Sie eine Datei, die zurzeit geöffnet ist, oder ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht kopieren. IOErrorflash.errors:IOErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen, um auf das Ziel zu schreiben. SecurityErrorSecurityErrornewLocationflash.net:FileReferenceDas Ziel der neuen Datei. Beachten Sie, dass dieses File-Objekt die resultierende (kopierte) Datei bzw. das Verzeichnis angibt, nicht den Pfad zum Verzeichnis, das die Datei oder das Verzeichnis enthält. overwriteBooleanfalseBei der Einstellung false schlägt der Kopiervorgang fehl, wenn die vom target-Parameter angegebene Datei bereits vorhanden ist. Bei der Einstellung true werden bei dem Vorgang Dateien oder Ordner mit demselben Namen überschrieben. Kopiert die Datei oder den Ordner vom Speicherort, der durch dieses File-Objekt festgelegt ist, an den Speicherort, der im newLocation-Parameter festgelegt ist. Beim Kopieren werden die erforderlichen übergeordneten Verzeichnisse erstellt (falls möglich). Im folgenden Beispiel wird eine Datei mit der copyTo()-Methode kopiert. Erstellen Sie im Unterordner „AIR Test“ des Dokumentordners auf Ihrem Computer eine Datei mit dem Namen „test1.txt“, bevor Sie diesen Code ausführen. Die resultierende kopierte Datei wird test2.txt genannt und befindet sich ebenfalls im Unterverzeichnis „AIR Test“. Wenn der overwrite-Parameter auf true gesetzt wird, wird eine ggf. vorhandene Datei namens „test2.txt“ überschrieben. import flash.filesystem.File; import flash.events.Event; var sourceFile:FileReference = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:FileReference = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); if (sourceFile.copyTo(destination, true)) { trace("Done."); } Im folgenden Beispiel wird eine Datei mit der copyTo()-Methode kopiert. Erstellen Sie im Unterordner „AIR Test“ des Stammordners auf Ihrem Computer eine Datei mit dem Namen „test1.txt“, bevor Sie diesen Code ausführen. Die resultierende kopierte Datei wird test2.txt benannt. Die try- und catch-Anweisungen zeigen, wie auf Fehler reagiert werden soll. import flash.filesystem.File; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); try { sourceFile.copyTo(destination, true); } catch (error:Error) { trace("Error:", error.message); } copyToAsync()moveTo()createDirectory Erstellt den angegebenen Ordner und alle erforderlichen übergeordneten Ordner.Der Ordner war nicht vorhanden und konnte nicht erstellt werden. IOErrorflash.errors:IOErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen. SecurityErrorSecurityError Erstellt den angegebenen Ordner und alle erforderlichen übergeordneten Ordner. Wenn der Ordner bereits vorhanden ist, wird keine Aktion ausgeführt. Im folgenden Beispiel wird eine Datei mit dem Namen „test.txt“ vom Desktop in den Unterordner „AIR Test“ des Dokumentordners verschoben. Der Aufruf der createDirectory()-Methode stellt sicher, dass der Ordner „AIR Test“ vorhanden ist, bevor die Datei verschoben wird. import flash.filesystem.*; var source:File = File.desktopDirectory.resolvePath("test.txt"); var target:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var targetParent:File = target.parent; targetParent.createDirectory(); source.moveTo(target, true); createTempDirectory Gibt einen Verweis auf einen neuen temporären Ordner zurück.Ein File-Objekt, das auf den neuen temporären Ordner verweist. flash.filesystem:File Gibt einen Verweis auf einen neuen temporären Ordner zurück. Dies ist ein neuer Ordner im temporären Ordner des Systems.

Mit dieser Methode können Sie einen neuen, eindeutigen Ordner identifizieren, ohne dass Sie das System abfragen müssen, ob der Ordner neu und eindeutig ist.

Sie sollten in Betracht ziehen, den temporären Ordner zu löschen, bevor Sie die Anwendung schließen, da er auf einigen Geräten nicht automatisch gelöscht wird.

Im folgenden Code wird die createTempFile()-Methode verwendet, um einen Verweis auf einen neuen temporären Ordner zu erhalten. import flash.File; var temp:File = File.createTempDirectory(); trace(temp.nativePath); Jedes Mal, wenn Sie diesen Code ausführen, wird eine neue (eindeutige) Datei erstellt.
createTempFile()
createTempFile Gibt einen Verweis auf eine neue temporäre Datei zurück.Ein File-Objekt, das auf die neue temporäre Datei verweist. flash.filesystem:File Gibt einen Verweis auf eine neue temporäre Datei zurück. Dies ist eine neue Datei im temporären Ordner des Systems.

Mit dieser Methode können Sie eine neue, eindeutige Datei identifizieren, ohne dass Sie das System abfragen müssen, ob die Datei neu und eindeutig ist.

Da die Datei nicht automatisch gelöscht wird, sollten Sie sie evtl. löschen, bevor Sie die Anwendung schließen.

Im folgenden Code wird die createTempFile()-Methode verwendet, um einen Verweis auf eine neue temporäre Datei zu erhalten. import flash.File; var temp:File = File.createTempFile(); trace(temp.nativePath); Jedes Mal, wenn Sie diesen Code ausführen, wird eine neue (eindeutige) Datei erstellt.
createTempDirectory()
deleteDirectoryAsync Löscht das Verzeichnis asynchron.Die Anwendung verfügt nicht über die erforderlichen Berechtigungen, um das Verzeichnis zu löschen. SecurityErrorSecurityErrordeleteDirectoryContentsBooleanfalseLegt fest, ob ein Ordner, der Dateien oder Unterordner enthält, gelöscht werden soll. Bei der Einstellung false löst das File-Objekt ein ioError-Ereignis aus, wenn das Verzeichnis Dateien oder Verzeichnisse enthält. Löscht das Verzeichnis asynchron. Wenn diese Datei ein symbolischer Link auf einen Ordner ist, wird dieser Link entfernt, nicht der Ordner. deleteDirectory()deleteFileAsync()moveToTrashAsync()completeflash.events:EventWird ausgelöst, wenn das Verzeichnis erfolgreich gelöscht wurde. Wird ausgelöst, wenn das Verzeichnis erfolgreich gelöscht wurde.ioErrorflash.events:IOErrorEventDas Verzeichnis ist nicht vorhanden oder konnte nicht gelöscht werden. Unter Windows können Sie ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht löschen. Das Verzeichnis ist nicht vorhanden oder konnte nicht gelöscht werden.deleteDirectory Löscht das Verzeichnis.Der Ordner ist nicht vorhanden oder konnte nicht gelöscht werden. Unter Windows können Sie ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht löschen. IOErrorflash.errors:IOErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen, um das Verzeichnis zu löschen. SecurityErrorSecurityErrordeleteDirectoryContentsBooleanfalseLegt fest, ob ein Ordner, der Dateien oder Unterordner enthält, gelöscht werden soll. Wenn false, wird beim Aufruf dieser Methode eine Ausnahme ausgegeben, wenn der Ordner Dateien oder Ordner enthält. Löscht das Verzeichnis. Wenn diese Datei ein symbolischer Link auf einen Ordner ist, wird dieser Link entfernt, nicht der Ordner. Im folgenden Beispiel wird ein leerer Ordner erstellt, der anschließend mit der deleteDirectory()-Methode gelöscht wird. import flash.filesystem.File; var directory:File = File.documentsDirectory.resolvePath("Empty Junk Directory/"); File.createDirectory(directory); trace(directory.exists); // true directory.deleteDirectory(); trace(directory.exists); // false deleteDirectoryAsync()deleteFile()moveToTrash()deleteFileAsync Löscht die Datei asynchron.Die Anwendung verfügt nicht über die erforderlichen Berechtigungen, um die Datei zu löschen. SecurityErrorSecurityError Löscht die Datei asynchron. Wenn diese Datei ein symbolischer Link ist, wird dieser Link entfernt, nicht die Zieldatei. deleteDirectoryAsync()deleteFile()moveToTrashAsync()completeflash.events:EventWird ausgelöst, wenn die Datei erfolgreich gelöscht wurde. Wird ausgelöst, wenn die Datei erfolgreich gelöscht wurde.ioErrorflash.events:IOErrorEventDie Datei ist nicht vorhanden oder konnte nicht gelöscht werden. Unter Windows können Sie eine Datei nicht löschen, wenn sie zurzeit geöffnet ist. Die Datei ist nicht vorhanden oder konnte nicht gelöscht werden.deleteFile Löscht die Datei.Die Datei ist nicht vorhanden oder konnte nicht gelöscht werden. Unter Windows können Sie eine Datei nicht löschen, wenn sie zurzeit geöffnet ist. IOErrorflash.errors:IOErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen, um die Datei zu löschen. SecurityErrorSecurityError Löscht die Datei. Wenn diese Datei ein symbolischer Link ist, wird dieser Link entfernt, nicht die Zieldatei. Im folgenden Beispiel wird eine temporäre Datei erstellt. Dann wird die deleteFile()-Methode aufgerufen, um die Datei zu löschen. import flash.filesystem.*; var file:File = File.createTempFile(); trace(file.exists); // true file.deleteFile(); trace(file.exists); // false deleteDirectory()deleteFileAsync()moveToTrash()getDirectoryListingAsync Ruft asynchron ein Array von File-Objekten ab, die dem Inhalt des durch dieses File-Objekt repräsentierten Verzeichnisses entsprechen. Ruft asynchron ein Array von File-Objekten ab, die dem Inhalt des durch dieses File-Objekt repräsentierten Verzeichnisses entsprechen. Im folgenden Beispiel wird die getDirectoryListingAsync()-Methode verwendet, um den Inhalt des Benutzerverzeichnisses aufzuführen. import flash.filesystem.File; import flash.events.FileListEvent; var directory:File = File.userDirectory; directory.getDirectoryListingAsync(); directory.addEventListener(FileListEvent.DIRECTORY_LISTING, directoryListingHandler); function directoryListingHandler(event:FileListEvent):void { var list:Array = event.files; for (var i:uint = 0; i < list.length; i++) { trace(list[i].nativePath); } } getDirectoryListing()getRootDirectories()directoryListing eventioErrorflash.events:ErrorEventSie haben keine Berechtigung zum Lesen dieses Verzeichnisses. oder das Verzeichnis ist nicht vorhanden. Sie haben keine Berechtigung zum Lesen dieses Verzeichnisses. oder das Verzeichnis ist nicht vorhanden.directoryListingflash.events:FileListEventDer Verzeichnisinhalt wurde erfolgreich aufgeführt. Das contents-Ereignis enthält eine files-Eigenschaft. Dabei handelt es sich um das daraus resultierende Array von File-Objekten. Der Verzeichnisinhalt wurde erfolgreich aufgeführt.getDirectoryListing Gibt ein Array von File-Objekten zurück, die Dateien und Verzeichnissen im durch dieses File-Objekt repräsentierten Verzeichnis entsprechen.Ein Array von File-Objekten. Array Gibt ein Array von File-Objekten zurück, die Dateien und Verzeichnissen im durch dieses File-Objekt repräsentierten Verzeichnis entsprechen. Diese Methode untersucht nicht den Inhalt der Unterverzeichnisse. Im folgenden Beispiel wird die getDirectoryListing()-Methode verwendet, um den Inhalt des Benutzerverzeichnisses aufzuführen. import flash.filesystem.File; var directory:File = File.userDirectory; var list:Array = directory.getDirectoryListing(); for (var i:uint = 0; i < list.length; i++) { trace(list[i].nativePath); } getDirectoryListingAsync()getRootDirectories()getRelativePath Sucht den relativen Pfad zwischen zwei Dateipfaden.Der Verweis hat den Wert null. ArgumentErrorArgumentErrorDer Aufrufer befindet sich nicht in der Sicherheitssandbox der Anwendung. SecurityErrorSecurityErrorDer relative Pfad zwischen dieser Datei (diesem Ordner) und der ref-Datei (-Ordner), falls möglich; andernfalls null. Stringrefflash.net:FileReference Ein File-Objekt, für das der Pfad angegeben wird. useDotDotBooleanfalse Gibt an, ob der resultierende relative Pfad „..“-Komponenten verwenden kann. Sucht den relativen Pfad zwischen zwei Dateipfaden.

Der relative Pfad ist die Liste der Komponenten, die an diesen Verweis angehängt werden können, um den zweiten (Parameter-)Verweis zu suchen. Der relative Pfad wird mit dem Trennzeichen „/“ zurückgegeben.

Relative Pfade können optional „..“-Verweise enthalten, sie überschreiten jedoch keine offensichtlichen Datenträgergrenzen.

getRootDirectories Gibt ein Array von File-Objekten zurück, wobei die Stammverzeichnisse des Dateisystems aufgelistet werden.Ein Array von File-Objekten, das die Stammverzeichnisse auflistet. Array Gibt ein Array von File-Objekten zurück, wobei die Stammverzeichnisse des Dateisystems aufgelistet werden.

Unter Windows ist dies zum Beispiel eine Liste der Datenträger wie Laufwerk C: und Laufwerk D:. Ein leeres Laufwerk, z. B. ein CD- oder DVD-Laufwerk, das keinen Datenträger enthält, ist nicht im Array enthalten. Unter Mac OS und Linux gibt diese Methode immer den eindeutige Stammordner des Geräts zurück (den „/“-Ordner).

Bei Dateisystemen, für die der Stammordner nicht lesbar ist, zum Beispiel beim Android-Dateisystem, spiegeln die Eigenschaften des zurückgegebenen File-Objekts nicht immer den richtigen Wert wieder. Bei Android meldet die spaceAvailable-Eigenschaft zum Beispiel 0.

Mit dem folgenden Code wird eine Liste der Stammverzeichnisse ausgegeben: import flash.filesystem.File; var rootDirs:Array = File.getRootDirectories(); for (var i:uint = 0; i < rootDirs.length; i++) { trace(rootDirs[i].nativePath); }
moveToAsync Beginnt mit dem Verschieben der Datei oder des Verzeichnisses am Speicherort, der durch dieses File-Objekt angegeben wird, an den Speicherort, der durch den newLocation-Parameter angegeben wird.Die Anwendung verfügt nicht über die erforderlichen Berechtigungen, um die Datei zu verschieben. SecurityErrorSecurityErrornewLocationflash.net:FileReferenceDer Zielspeicherort für den Verschiebevorgang. Dieses Objekt gibt den Pfad zur resultierenden (verschobenen) Datei bzw. zum Verzeichnis an, nicht den Pfad zum Verzeichnis, das die Datei oder das Verzeichnis enthält. overwriteBooleanfalseBei der Einstellung false schlägt das Verschieben fehl, wenn die target-Datei bereits vorhanden ist. Bei der Einstellung true werden alle Dateien oder Ordner mit demselben Namen überschrieben. Beginnt mit dem Verschieben der Datei oder des Verzeichnisses am Speicherort, der durch dieses File-Objekt angegeben wird, an den Speicherort, der durch den newLocation-Parameter angegeben wird.

Um eine Datei umzubenennen, stellen Sie den destination-Parameter so ein, dass er auf einen Pfad zeigt, der sich im Verzeichnis der Datei befindet, jedoch einen anderen Dateinamen verwendet.

Beim Verschieben werden die erforderlichen übergeordneten Verzeichnisse erstellt (falls möglich).

Im folgenden Beispiel wird eine Datei mit der moveToAsync()-Methode eine Datei umbenannt. Der ursprüngliche Dateiname ist „test1.txt“ und der neue Name ist „test2.txt“. Da sowohl das File-Quell- als auch das -Zielobjekt auf denselben Ordner verweisen (der Unterordner „Apollo Test“ im Dokumentordner des Benutzers), wird die Datei mit der moveToAsync()-Methode umbenannt (und nicht in einen neuen Ordner verschoben). Erstellen Sie im Unterordner „Apollo Test“ des Dokumentordners auf Ihrem Computer eine Datei mit dem Namen „test1.txt“, bevor Sie diesen Code ausführen. Wenn der overwrite-Parameter auf true gesetzt wird, wird eine ggf. vorhandene Datei namens „test2.txt“ überschrieben. import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("Apollo Test/test2.txt"); var sourceFile.moveToAsync(destination, true); sourceFile.addEventListener(Event.COMPLETE, fileMoveCompleteHandler); function fileMoveCompleteHandler(event:Event):void { trace("Done.") }
copyToAsync()moveTo()moveToTrashAsync()completeflash.events:EventWird ausgelöst, wenn die Datei oder das Verzeichnis erfolgreich verschoben wurde. Wird ausgelöst, wenn die Datei oder das Verzeichnis erfolgreich verschoben wurde.ioErrorflash.events:IOErrorEventDie Quelle existiert nicht; oder das Ziel existiert und overwrite ist false; oder die Quelle konnte nicht ins Ziel verschoben werden; oder die Quelle und das Ziel verweisen auf dieselbe Datei oder denselben Ordner und overwrite ist auf true gesetzt. Unter Windows können Sie eine Datei, die zurzeit geöffnet ist, oder ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht verschieben. Die Quelle existiert nicht; oder das Ziel existiert und „overwrite“ ist „false“; oder die Quelle konnte nicht ins Ziel verschoben werden; oder die Quelle und das Ziel verweisen auf dieselbe Datei oder denselben Ordner und „overwrite“ ist auf „true“ gesetzt.
moveToTrashAsync Verschiebt eine Datei oder einen Ordner asynchron in den Papierkorb.Die Anwendung verfügt nicht über die erforderlichen Berechtigungen, um die Datei in den Papierkorb zu verschieben. SecurityErrorSecurityError Verschiebt eine Datei oder einen Ordner asynchron in den Papierkorb.

Hinweis: Bei Betriebssystemen, die keinen wiederherstellbaren Papierkorb haben, werden die Dateien sofort gelöscht.

moveToTrash()ioErrorflash.events:IOErrorEventDas Betriebssystem hat den Vorgang nicht zugelassen oder die Datei bzw. der Ordner ist nicht vorhanden. Unter Windows können Sie eine Datei, die zurzeit geöffnet ist, oder ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht verschieben. Das Betriebssystem hat den Vorgang nicht zugelassen oder die Datei bzw. der Ordner ist nicht vorhanden.completeflash.events:EventWird ausgelöst, wenn die Datei oder das Verzeichnis erfolgreich in den Papierkorb verschoben wurde. Wird ausgelöst, wenn die Datei oder das Verzeichnis erfolgreich in den Papierkorb verschoben wurde.
moveToTrash Verschiebt eine Datei oder ein Verzeichnis in den Papierkorb.Das Betriebssystem hat den Vorgang nicht zugelassen oder die Datei bzw. der Ordner ist nicht vorhanden. Unter Windows können Sie eine Datei, die zurzeit geöffnet ist, oder ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht verschieben. IOErrorflash.errors:IOErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen, um die Datei in den Papierkorb zu verschieben. SecurityErrorSecurityError Verschiebt eine Datei oder ein Verzeichnis in den Papierkorb.

Hinweis: Bei Betriebssystemen, die keinen wiederherstellbaren Papierkorb haben, werden die Dateien sofort gelöscht.

moveToTrashAsync()
moveTo Verschiebt die Datei oder das Verzeichnis am Speicherort, der durch dieses File-Objekt angegeben wird, an den Speicherort, der durch den destination-Parameter angegeben wird.Die Quelle existiert nicht; oder das Ziel existiert und overwrite ist auf false gesetzt; oder die Quelldatei bzw. der Quellordner konnte nicht an den Zielort kopiert werden; oder die Quelle und das Ziel verweisen auf dieselbe Datei oder denselben Ordner und overwrite ist auf true gesetzt. Unter Windows können Sie eine Datei, die zurzeit geöffnet ist, oder ein Verzeichnis, das eine zurzeit geöffnete Datei enthält, nicht verschieben. IOErrorflash.errors:IOErrorDie Anwendung verfügt nicht über die erforderlichen Berechtigungen, um die Datei zu verschieben. SecurityErrorSecurityErrornewLocationflash.net:FileReferenceDer Zielspeicherort für den Verschiebevorgang. Dieses Objekt gibt den Pfad zur resultierenden (verschobenen) Datei bzw. zum Verzeichnis an, nicht den Pfad zum Verzeichnis, das die Datei oder das Verzeichnis enthält. overwriteBooleanfalseBei der Einstellung false schlägt das Verschieben fehl, wenn die target-Datei bereits vorhanden ist. Bei der Einstellung true werden alle Dateien oder Ordner mit demselben Namen überschrieben. Verschiebt die Datei oder das Verzeichnis am Speicherort, der durch dieses File-Objekt angegeben wird, an den Speicherort, der durch den destination-Parameter angegeben wird.

Um eine Datei umzubenennen, stellen Sie den destination-Parameter so ein, dass er auf einen Pfad zeigt, der sich im Verzeichnis der Datei befindet, jedoch einen anderen Dateinamen verwendet.

Beim Verschieben werden die erforderlichen übergeordneten Verzeichnisse erstellt (falls möglich).

Im folgenden Beispiel wird eine Datei mit der moveTo()-Methode umbenannt. Der ursprüngliche Dateiname ist „test1.txt“, der neue Name ist „test2.txt“. Da sowohl das File-Quell- als auch das -Zielobjekt auf denselben Ordner verweisen (der Unterordner „Apollo Test“ im Dokumentordner des Benutzers), wird die Datei mit der moveTo()-Methode umbenannt (und nicht in einen neuen Ordner verschoben). Erstellen Sie im Unterordner „AIR Test“ des Dokumentordners auf Ihrem Computer eine Datei mit dem Namen „test1.txt“, bevor Sie diesen Code ausführen. Wenn der overwrite-Parameter auf true gesetzt wird, wird eine ggf. vorhandene Datei namens „test2.txt“ überschrieben. import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("Apollo Test/test2.txt"); try { sourceFile.moveTo(destination, true); } catch (error:Error) { trace("Error:" + error.message); } Im folgenden Beispiel wird eine Datei mit der moveTo()-Methode verschoben. Die ursprüngliche Datei ist die Datei „test1.txt“ im Unterordner „Apollo Test“ des Dokumentordners des Benutzers und die Methode verschiebt die Datei in den Unterordner „Results“. Erstellen Sie im Unterordner „AIR Test“ des Stammordners auf Ihrem Computer eine Datei mit dem Namen „test1.txt“, bevor Sie diesen Code ausführen. Die try- und catch-Anweisungen zeigen, wie auf Fehler reagiert werden soll. import flash.filesystem.File; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/Results/test1.txt"); try { sourceFile.moveTo(destination, true); } catch (error:Error) { trace("Error:" + error.message); }
copyTo()moveToAsync()moveToTrash()
openWithDefaultApplication Öffnet die Datei in der Anwendung, die im Betriebssystem für das Öffnen von Dateien dieses Typs registriert ist. (Mac OS und Linux) Es wurde keine Anwendung gefunden, mit der die Datei geöffnet werden kann. (Unter Windows schlägt der Versuch, eine Datei, die keine zugeordnete Anwendung hat, ohne Ausnahmefehler fehl.) ErrorErrorDie Datei befindet sich im Anwendungsverzeichnis oder weist einen unzulässigen Dateityp auf. Dieser Fehler gilt nicht für AIR-Anwendungen, die mit einem nativen Anwendungsinstallationsprogramm installiert wurden (Anwendungen mit dem Profil „erweiterter Desktop“). IllegalOperationErrorflash.errors:IllegalOperationErrorDie Datei ist nicht vorhanden oder es wurde keine Anwendung registriert, um die Datei zu öffnen. IOErrorflash.errors:IOErrorDie Datei ist nicht vorhanden. ReferenceErrorReferenceError Öffnet die Datei in der Anwendung, die im Betriebssystem für das Öffnen von Dateien dieses Typs registriert ist.

AIR verhindert, dass Sie bestimmte Dateien mit der File.openWithDefaultApplication()-Methode öffnen. Unter Windows verhindert AIR, dass Sie Dateien bestimmter Dateitypen öffnen (Dateien mit bestimmten Erweiterungen, die unten aufgeführt sind). Unter Mac OS und Linux verhindert AIR, dass Sie Dateien öffnen, die in bestimmten, unten aufgeführten Anwendungen gestartet werden. Wenn Sie versuchen, eine dieser Dateien mit der openWithDefaultApplication()-Methode zu öffnen, wird ein Ausnahmefehler ausgegeben. Für AIR-Anwendungen, die mit einem nativen Installationsprogramm installiert wurden (Anwendungen mit dem Profil „erweiterter Desktop“) gelten diese Einschränkungen jedoch nicht; sie können Dateien aller Typen öffnen.

Sie können keine Dokumente aus dem Anwendungsverzeichnis öffnen.

In der folgenden Tabelle sind Dateierweiterungen, die unter Windows unzulässig sind, sowie die nicht zulässigen Anwendungen unter Mac OS und Linux aufgeführt:

Windows-Dateierweiterung Art Mac OS-Anwendungsentsprechung Linux-Anwendungsentsprechung bat Batchdateibefehl Terminal Keine Standardanwendung cmd DOS- und Windows-Befehlsdatei Terminal Keine Standardanwendung com Befehl Terminal Keine Standardanwendung csh UNIX-csh-Shell-Skript Terminal /bin/csh dash UNIX-dash-Shell-Skript Terminal /bin/dash ksh UNIX-ksh-Shell-Skript Terminal /bin/ksh sh UNIX-Shell-Skript Terminal /bin/bash tcsh UNIX-tcsh-Shell-Skript Terminal /bin/tcsh zsh UNIX-zsh-Shell-Skript Terminal /bin/zsh exe Ausführbare Datei Executable-Bit, .app-Erweiterung /lib/ld.so lnk Windows-Verknüpfungsdatei Executable-Bit, .app-Erweiterung Links in Linux, Executable-Bit gesetzt, keine Standardanwendung pif Programminformationsdatei Executable-Bit, .app-Erweiterung n. zutr. reg Informationen zur Registrierung/Schlüssel für Windows 95/98, Registrierungsdatendatei n. zutr. n. zutr. scf Windows-Explorer-Befehl ScriptEditor, AutomatorRunner n. zutr. shb, shs Shell-Scrap-Object-Datei n. zutr. n. zutr. prg Programmdatei n. zutr. n. zutr. vb, vbe, vbs VBScript-Dateien n. zutr. n. zutr. vsmacros Visual Studio .NET Binary-basiertes Makroprojekt n. zutr. n. zutr. ws, wsc, wsf, wsh Windows-Skriptdateien ScriptEditor, AutomatorRunner n. zutr. fxp mit Fox Pro kompilierter Quellcode n. zutr. n. zutr. mas mit Microsoft Access gespeicherte Prozeduren n. zutr. n. zutr. scr Windows-Bildschirmschoner n. zutr. n. zutr. py, pyc Python-Skriptdatei Python Python pl Perl-Skriptdatei Terminal perl cgi Common Gateway Interface-Skriptdatei Terminal perl msi, msm, msp, mst, idt, cub, pcp Windows-Installationsprogrammdatei installer n. zutr. job Windows Task Scheduler-Taskobjekt n. zutr. n. zutr. jar, js, jse Java-Archivdatei, JavaScript-Datei, JScript-kodierte Skriptdatei JarLauncher jar url Internetverknüpfung n. zutr. n. zutr. hta HTML-Anwendung n. zutr. n. zutr.

Nur Mac OS X Art Mac OS X-Anwendung Linux-Anwendungsentsprechung n. zutr. Mac OS X Java-Applet AppletLauncher n. zutr. n. zutr. Mac OS X AppleScript-Plug-In systemevents n. zutr. n. zutr. Mac OS X-Widget dock, dashboardlauncher n. zutr.

Nur Linux, Dokumenterweiterung Art Mac OS X-Anwendungsentsprechung Linux-Anwendung rb Ruby-Shell-Skript n. zutr. ruby desktop Desktopdateien und Verknüpfungen n. zutr. Keine Standardanwendung directory Verzeichnisdateien und Verknüpfungen n. zutr. Keine Standardanwendung

Mit dem folgenden Code kann der Benutzer zu einer MP3-Datei navigieren und sie in der Standardanwendung zum Abspielen von MP3-Dateien öffnen. import flash.filesystem.File; import flash.net.FileFilter; var file:File = File.documentsDirectory; var mp3Filter:FileFilter = new FileFilter("MP3 Files", "*.mp3"); file.browseForOpen("Open", [mp3Filter]); file.addEventListener(Event.SELECT, fileSelected); function fileSelected(e:Event):void { file.openWithDefaultApplication(); }
downloadedNativeProcess
resolvePath Erstellt ein neues File-Objekt mit einem Pfad relativ zum Pfad dieses File-Objekts, basierend auf dem path-Parameter (ein String).Ein neues File-Objekt, das auf den resultierenden Pfad verweist. flash.filesystem:FilepathStringDer Pfad, der an den Pfad dieses File-Objekts angehängt wird (wenn der path-Parameter ein relativer Pfad ist), oder der zurückzugebende Pfad (wenn der path-Parameter ein absoluter Pfad ist). Erstellt ein neues File-Objekt mit einem Pfad relativ zum Pfad dieses File-Objekts, basierend auf dem path-Parameter (ein String).

Sie können wie beim path-Parameter einen relativen oder absoluten Pfad verwenden.

Wenn Sie einen relativen Pfad festlegen, wird der festgelegte path an den Pfad des File-Objekts angehängt. Die Verwendung von „..“ im path kann jedoch einen Ergebnispfad zurückgeben, der kein untergeordnetes Element des File-Objekts ist. Der resultierende Verweis muss nicht auf einen tatsächlichen Speicherort in einem Dateisystem verweisen.

Wenn Sie einen absoluten Dateiverweis festlegen, gibt die Methode das File-Objekt, das auf diesen Pfad verweist, zurück. Der absolute Dateiverweis sollte eine gültige Syntax für native Pfade des Betriebssystems des Benutzers verwenden (z. B. "C:\\test" unter Windows). Verwenden Sie keine URLs (z. B. "file:///c:/test") als path-Parameter.

Alle resultierenden Pfade werden wie folgt normalisiert:

  • Jedes „.“-Element wird ignoriert.
  • Alle „..“-Elemente konsumieren den übergeordneten Eintrag.
  • Kein „..“-Verweis, der den Stammordner des Dateisystems oder den anwendungspersistenten Speicherstamm erreicht, passiert diesen Knoten; solche Verweise werden ignoriert.

Als Pfadtrennzeichen sollten Sie immer den Schrägstrich (/) verwenden. Unter Windows können Sie auch den umgekehrten Schrägstrich (\) verwenden, sollten dies allerdings vermeiden. Wenn Sie den umgekehrten Schrägstrich verwenden, funktionieren Ihre Anwendungen auf anderen Plattformen möglicherweise nicht.

Unter Linux muss bei Datei- und Ordnernamen die Groß-/Kleinschreibung berücksichtigt werden.

applicationDirectory Der Ordner mit den installierten Dateien der Anwendung.flash.filesystem:File Der Ordner mit den installierten Dateien der Anwendung.

Die url-Eigenschaft für dieses Objekt verwendet das URL-Schema app (nicht das URL-Schema file). Dies bedeutet, dass der url-String mit "app:" beginnt (nicht mit "file:"). Wenn Sie ein File-Objekt relativ zum File.applicationDirectory-Ordner erstellen (mit der resolvePath()-Methode), verwendet die url-Eigenschaft des File-Objekts ebenfalls das app-URL-Schema.

Hinweis: Sie können nicht in Dateien oder Ordner schreiben, die Pfade mit dem app:-URL-Schema aufweisen. Es ist auch nicht möglich, Dateien oder Ordner zu löschen oder zu erstellen, für deren Pfad das app:-URL-Schema verwendet wird. Aus Sicherheitsgründen wird davon abgeraten, Inhalt im Anwendungsverzeichnis zu ändern, dies ist bei den Betriebssystemen einiger Plattformen auch gar nicht möglich. Wenn Sie anwendungsspezifische Daten speichern möchten, sollten Sie das Anwendungsspeicherverzeichnis (File.applicationStorageDirectory) verwenden. Wenn Sie möchten, dass Inhalte im Anwendungsspeicherordner Zugriff auf anwendungsberechtigte Funktionen (AIR-APIs) haben, können Sie diese Funktionen mithilfe einer Sandbox-Brücke bereitstellen.

Die applicationDirectory-Eigenschaft stellt eine Möglichkeit zum Verweisen auf den Anwendungsordner bereit, die auf allen Plattformen funktioniert. Wenn Sie ein File-Objekt mithilfe der nativePath- oder url-Eigenschaft so einrichten, dass es auf den Anwendungsordner verweist, funktioniert dies nur auf der Plattform, auf der der Pfad gültig ist.

Unter Android ist die nativePath-Eigenschaft eines File-Objekts, das auf das Anwendungsverzeichnis zeigt, ein leerer String. Verwenden Sie die url-Eigenschaft, um auf Anwendungsdateien zuzugreifen.

applicationStorageDirectory
applicationStorageDirectory Das private Speicherverzeichnis der Anwendung.flash.filesystem:File Das private Speicherverzeichnis der Anwendung.

Jede AIR-Anwendung verfügt über einen eindeutigen, dauerhaften Anwendungsspeicherordner, der erstellt wird, wenn Sie zum ersten Mal auf File.applicationStorageDirectory zugreifen. Dieses Verzeichnis ist ein praktischer Speicherort für anwendungsspezifische Daten.

Beim Deinstallieren einer AIR-Anwendung ist es von der Plattform abhängig, ob das Deinstallationsprogramm das Anwendungsspeicherverzeichnis und die Dateien darin löscht.

Die url-Eigenschaft für dieses Objekt verwendet das URL-Schema app-storage (nicht das URL-Schema file). Dies bedeutet, dass der url-String mit "app-storage:" beginnt (nicht mit "file:"). Wenn Sie ein File-Objekt relativ zum File.applicationStoreDirectory-Ordner erstellen (mit der resolvePath()-Methode), verwendet die url des File-Objekts ebenfalls das app-storage-URL-Schema (wie im Beispiel).

Die applicationStorageDirectory-Eigenschaft stellt eine Möglichkeit zum Verweisen auf den Anwendungsordner bereit, die auf allen Plattformen funktioniert. Wenn Sie ein File-Objekt mithilfe der nativePath- oder url-Eigenschaft so einrichten, dass es auf den Anwendungsspeicherordner verweist, funktioniert dies nur auf der Plattform, auf der der Pfad gültig ist.

Im folgenden Beispiel wird ein File-Objekt erstellt, das auf den Unterordner „images“ des Anwendungsspeicherordners verweist. import flash.filesystem.File; var tempFiles:File = File.applicationStorageDirectory; tempFiles = tempFiles.resolvePath("images/"); trace(tempFiles.url); // app-storage:/images
desktopDirectory Das Desktopverzeichnis des Benutzers.flash.filesystem:File Das Desktopverzeichnis des Benutzers.

Die desktopDirectory-Eigenschaft stellt eine Möglichkeit zum Verweisen auf den Anwendungsordner bereit, die auf allen Plattformen funktioniert. Wenn Sie ein File-Objekt mithilfe der nativePath- oder url-Eigenschaft so einrichten, dass es auf den Desktopordner verweist, funktioniert dies nur auf der Plattform, auf der der Pfad gültig ist.

Wenn ein Betriebssystem kein Desktopverzeichnis unterstützt, wird stattdessen ein geeignetes Verzeichnis im Dateisystem verwendet.

Geräte mit AIR für TV verfügen nicht über das Konzept eines Benutzerdesktopverzeichnisses. Deshalb verweist die desktopDirectory-Eigenschaft auf denselben Verzeichnisort wie die File.userDirectory-Eigenschaft. Das Benutzerverzeichnis ist in der Anwendung eindeutig.

Im folgenden Beispiel wird eine Liste mit Dateien und Verzeichnissen ausgegeben, die im Desktopverzeichnis des Benutzers enthalten sind. import flash.filesystem.File; var desktop:File = File.desktopDirectory; var files:Array = desktop.getDirectoryListing(); for (var i:uint = 0; i < files.length; i++) { trace(files[i].nativePath); }
documentsDirectory Das Dokumentverzeichnis des Benutzers.flash.filesystem:File Das Dokumentverzeichnis des Benutzers.

Unter Windows ist dies der Ordner „Eigene Dateien“ (zum Beispiel C:\Dokumente und Einstellungen\Benutzername\Eigene Dateien). Unter Mac OS ist dies standardmäßig /Benutzer/Benutzername/Dokumente. Unter Linux lautet der Standardspeicherort auf einem deutschen System „/home/Benutzername/Dokumentes“ und die Eigenschaft berücksichtigt die xdg-user-dirs-Einstellung.

Die documentsDirectory-Eigenschaft stellt eine Möglichkeit zum Verweisen auf den Anwendungsordner bereit, die auf allen Plattformen funktioniert. Wenn Sie ein File-Objekt mithilfe der nativePath- oder url-Eigenschaft so einrichten, dass es auf den Dokumentordner verweist, funktioniert dies nur auf der Plattform, auf der der Pfad gültig ist.

Wenn ein Betriebssystem kein Dokumentverzeichnis unterstützt, wird stattdessen ein geeignetes Verzeichnis im Dateisystem verwendet.

Geräte mit AIR für TV verfügen nicht über das Konzept eines Benutzerdokumentverzeichnisses. Deshalb verweist die documentsDirectory-Eigenschaft auf denselben Verzeichnisort wie die File.userDirectory-Eigenschaft. Das Benutzerverzeichnis ist in der Anwendung eindeutig.

Im folgenden Beispiel werden die File.documentsDirectory-Eigenschaft und die File.createDirectory()-Methode verwendet, um sicherzustellen, dass ein Verzeichnis mit dem Namen „AIR Test“ im Dokumentverzeichnis des Benutzers vorhanden ist. import flash.filesystem.File; var directory:File = File.documentsDirectory; directory = directory.resolvePath("AIR Test"); File.createDirectory(directory); trace(directory.exists); // true
downloaded Gibt an, ob die referenzierte Datei bzw. das referenzierte Verzeichnis (aus dem Internet) heruntergeladen wurde oder nicht.Boolean Gibt an, ob die referenzierte Datei bzw. das referenzierte Verzeichnis (aus dem Internet) heruntergeladen wurde oder nicht.

Diese Eigenschaft ist nur unter Betriebssystemen, in denen Dateien als heruntergeladen gekennzeichnet werden können, von Bedeutung:

  • Windows XP Service Pack 2 und höher und Windows Vista
  • Mac OS 10.5 und höher

Bei Systemen, die heruntergeladene Dateien nicht kennzeichnen, zum Beispiel Linux, hat diese Eigenschaft keine Bedeutung (und wird auf false gesetzt).

openWithDefaultApplication()
exists Gibt an, ob die Datei bzw. der Ordner, auf die/den verwiesen wird, vorhanden ist.Boolean Gibt an, ob die Datei bzw. der Ordner, auf die/den verwiesen wird, vorhanden ist. Der Wert ist true, wenn das File-Objekt auf eine vorhandene Datei oder einen vorhandenen Ordner verweist; andernfalls ist er false. Im folgenden Beispiel wird eine temporäre Datei erstellt und dann gelöscht. Mit der File.exists-Eigenschaft wird das Vorhandensein der Datei überprüft. import flash.filesystem.*; var temp:File = File.createTempFile(); trace(temp.exists); // true temp.deleteFile(); trace(temp.exists); // false icon Ein Icon-Objekt, das die für diese Datei definierten Symbole enthält.flash.desktop:Icon Ein Icon-Objekt, das die für diese Datei definierten Symbole enthält. Ein Icon-Objekt ist ein Array von BitmapData-Objekten, die den verschiedenen Zuständen des Symbols entsprechen. Unter Linux enthält das Icon-Objekt keine Symbole. Unter Android hat die icon-Eigenschaft den Wert null. Im folgenden Beispiel wird im icon-Array das Bild mit der größten Höhe gesucht und ein Bitmap-Objekt für dieses Bild eingerichtet. import flash.filesystem.File; import flash.display.*; var directory:File = File.documentsDirectory; var bitmaps:Array = directory.icon.bitmaps; var bmpData:BitmapData = new BitmapData(1, 1); for (var i:uint = 0; i < bitmaps.length; i++) { if (bitmaps[i].height > bmpData.height) { bmpData = directory.icon.bitmaps[i]; } } var iconBmp:Bitmap = new Bitmap(bmpData); Sie können dieses Bitmap-Objekt als untergeordnetes Element eines Anzeigeobjektcontainers (zum Beispiel ein Sprite-Objekt oder ein Flex UIComponent-Objekt) hinzufügen. isDirectory Gibt an, ob auf einen Ordner verwiesen wird.Boolean Gibt an, ob auf einen Ordner verwiesen wird. Der Wert ist true, wenn das File-Objekt auf ein Verzeichnis verweist; andernfalls false. Im folgenden Beispiel wird ein Array mit File-Objekten erstellt, die auf Dateien und Ordner im Benutzerordner verweisen. Mit der isDirectory-Eigenschaft werden dann nur die File-Objekte angezeigt, die auf Ordner (nicht auf Dateien) verweisen. import flash.filesystem.*; var userDirFiles:Array = File.userDirectory.getDirectoryListing(); for (var i:uint = 0; i < userDirFiles.length; i++) { if (userDirFiles[i].isDirectory) { trace(userDirFiles[i].nativePath); } } isHidden Gibt an, ob die Datei bzw. der Ordner, auf die bzw. den verwiesen wird, versteckt ist. Der Wert ist „true“, wenn die Datei/der Ordner, auf die/den verwiesen wird, ausgeblendet ist, andernfalls ist er „false“.Boolean Gibt an, ob die Datei bzw. der Ordner, auf die bzw. den verwiesen wird, versteckt ist. Der Wert ist true, wenn die Datei/der Ordner, auf die/den verwiesen wird, ausgeblendet ist, andernfalls ist er false. Im folgenden Beispiel wird ein Array von File-Objekten erstellt, die auf Dateien und Ordner im Benutzerordner verweisen. Mit der isHidden-Eigenschaft werden versteckte Dateien und Ordner aufgelistet. import flash.filesystem.*; var userDirFiles:Array = File.userDirectory.getDirectoryListing(); for (var i:uint = 0; i < userDirFiles.length; i++) { if (userDirFiles[i].isHidden) { trace(userDirFiles[i].nativePath); } } isPackage Gibt an, ob der Ordner, auf den verwiesen wird, ein Paket ist.Boolean Gibt an, ob der Ordner, auf den verwiesen wird, ein Paket ist.

Der Wert ist true, wenn der Ordner ein Paket ist, andernfalls ist er false. Beachten Sie, dass die File-Klasse das direkte Erstellen von Paketen nicht zulässt.

  • Unter Mac OS können Verzeichnisse als Pakete gekennzeichnet werden und erscheinen dann im Finder als einzelne Dateien, nicht als Verzeichnisse. Diese Eigenschaft ist auf true gesetzt, wenn der Ordner, auf den verwiesen wird, ein Paket ist. Der Wert false wird zurückgegeben, wenn die Datei kein Ordner, nicht vorhanden oder kein Paket ist.
  • Unter anderen Betriebssystemen ist diese Eigenschaft immer auf false gesetzt.
isSymbolicLink Gibt an, ob der Verweis ein symbolischer Link ist.Boolean Gibt an, ob der Verweis ein symbolischer Link ist.

Der Wert ist true, wenn das File-Objekt ein symbolischer Link ist; andernfalls ist er false. Beachten Sie, dass die File-Klasse das direkte Erstellen von symbolischen Links nicht zulässt.

Symbolische Links ermöglichen, dass eine Datei auf eine andere Datei oder ein Verzeichnis auf der Festplatte zeigt. Obwohl sie sich ähneln, sind symbolische Links nicht dasselbe wie Aliasnamen unter Mac OS oder Verknüpfungen unter Windows. Ein Alias oder eine Verknüpfung wird immer als Datei (nicht als Verzeichnis) betrachtet, und das Lesen und Schreiben von oder in einen Alias oder in eine Verknüpfung betrifft nie die ursprüngliche Datei oder das ursprüngliche Verzeichnis, auf die bzw. das verwiesen wird. Abgesehen davon verhält sich ein symbolischer Link genau wie die Datei bzw. der Ordner, auf die bzw. den verwiesen wird. Der symbolische Link kann als Datei oder als Verzeichnis betrachtet werden. Das Lesen von einem oder in einen symbolischen Link betrifft die Datei oder das Verzeichnis, auf die bzw. das verwiesen wird, nicht den symbolischen Link selbst. Beim Löschen eines symbolischen Links wird der Link gelöscht, nicht das Ziel des Links.

Symbolische Links werden von Mac® OS®, Linux und Windows® Vista® unterstützt. Unter Windows wird zusätzlich die isSymbolicLink-Eigenschaft für ein File-Objekt, das auf einen Verknüpfungspunkt (im NTFS-Dateisystem verwendet) verweist, mit dem Wert true belegt.

lineEnding Die vom Host-Betriebssystem verwendete Zeilenende-Zeichenfolge.String Die vom Host-Betriebssystem verwendete Zeilenende-Zeichenfolge.

Unter Mac OS und Linux ist dies das Zeilenvorschubzeichen (hexadezimaler Zeichencode 0x0A). Unter Windows ist dies das Wagenrücklaufzeichen (hexadezimaler Zeichencode 0x0D) gefolgt vom Zeilenvorschubzeichen (hexadezimaler Zeichencode 0x0A).

Im folgenden Beispiel wird ein String (str) in eine Textdatei geschrieben und mit der statischen Eigenschaft File.lineEnding werden alle Instanzen des Zeichens für eine neue Zeile (im Code durch den regulären Ausdruck /\n/g dargestellt) durch das vom Hostbetriebssystem verwendete Zeilenende-Zeichen ersetzt. import flash.filesystem.*; var str:String = "Hello\n" + "World\n"; str = str.replace(/\n/g, File.lineEnding); var file:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeUTF(str); fileStream.close();
nativePath Der vollständige Pfad in der Schreibweise des Host-Betriebssystems.StringDie Syntax des Pfads ist ungültig. ArgumentErrorArgumentErrorDer Aufrufer befindet sich nicht in der Sicherheitssandbox der Anwendung. SecurityErrorSecurityError Der vollständige Pfad in der Schreibweise des Host-Betriebssystems. Unter Mac OS und Linux wird der Schrägstrich (/) als Pfadtrennzeichen verwendet. Unter Windows setzen Sie die nativePath-Eigenschaft jedoch entweder mit dem Schrägstrich (/) oder dem umgekehrten Schrägstrich (\) als Pfadtrennzeichen. AIR ersetzt Schrägstriche (/) automatisch durch umgekehrte Schrägstriche (\).

Bevor Sie Code zum direkten Setzen der nativePath-Eigenschaft schreiben, sollten Sie überlegen, ob dies nicht plattformspezifischen Code ergibt. So ist beispielsweise der native Pfad "C:\\Dokumente und Einstellungen\\klaus\\Desktop" nur unter Windows gültig. Es ist besser, stattdessen die folgenden statischen Eigenschaften zu verwenden, die häufig verwendete Ordner repräsentieren und auf allen Plattformen gültig sind:

  • File.applicationDirectory
  • File.applicationStorageDirectory
  • File.desktopDirectory
  • File.documentsDirectory
  • File.userDirectory

Mit der resolvePath()-Methode erhalten Sie einen Pfad relativ zu diesen Ordnern.

Manche Flex-APIs, wie z. B die source-Eigenschaft der SWFLoader-Klasse, verwenden eine URL (die url-Eigenschaft eines File-Objekts) anstatt eines nativen Pfads (die nativePath-Eigenschaft).

Im folgenden Beispiel wird der Unterschied zwischen der nativePath-Eigenschaft und der url-Eigenschaft eines File-Objekts deutlich. Die Kommentare zeigen Ergebnisse auf einem Beispiel-Windows-Computer. import flash.filesystem.File; var docs:File = File.documentsDirectory; trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
parent Das Verzeichnis, das die Datei oder das Verzeichnis, auf die bzw. das durch dieses File-Objekt verwiesen wird, enthält.flash.filesystem:File Das Verzeichnis, das die Datei oder das Verzeichnis, auf die bzw. das durch dieses File-Objekt verwiesen wird, enthält.

Auch wenn die Datei oder der Ordner nicht vorhanden ist, gibt die parent-Eigenschaft das File-Objekt zurück, das auf den Ordner mit der Datei verweist (selbst wenn dieser Ordner nicht vorhanden ist.

Diese Eigenschaft ist identisch mit dem Rückgabewert für resolvePath(".."), außer dass der übergeordnete Ordner eines Stammordners null ist.

Im folgenden Beispiel wird die parent-Eigenschaft verwendet, um auf das Verzeichnis zu verweisen, das eine temporäre Datei enthält. import flash.filesystem.File; var tempFile:File = File.createTempDirectory(); trace(tempFile.parent.nativePath); tempFile.deleteFile();
separator Das vom Betriebssystem verwendete Trennzeichen für Pfadkomponenten.String Das vom Betriebssystem verwendete Trennzeichen für Pfadkomponenten.

Unter Mac OS und Linux ist dies der Schrägstrich (/). Unter Windows ist dies der umgekehrte Schrägstrich (\).

Hinweis: Wenn Sie den umgekehrten Schrägstrich in einem Stringliteral verwenden, denken Sie daran, das Zeichen zweimal einzugeben (wie in "ordner\\datei.ext"). Jeder doppelte umgekehrte Schrägstrich in einem Stringliteral repräsentiert einen einzelnen umgekehrten Schrägstrich im String.

Im folgenden Beispiel wird mit der getRelativePath()-Methode der relative Pfad zwischen einem Verzeichnis und einer Datei abgerufen. Im Beispiel wird dann die statische Eigenschaft File.separator verwendet, um Schrägstriche (/) im Pfad durch das vom Betriebssystem verwendete Trennzeichen ersetzt. Dies ist unter Windows der umgekehrte Schrägstrich (\) und unter anderen Betriebssystemen der Schrägstrich. import flash.filesystem.File; var directory:File = File.documentsDirectory.resolvePath("Apollo Test"); var file:File = File.documentsDirectory.resolvePath("Apollo Test/employees/bob/test.txt"); var relativePath:String = directory.getRelativePath(file); // employees/bob/test.txt relativePath = relativePath.replace(/\//g, File.separator); trace(relativePath); In diesem Beispiel verwendet die replace()-Methode einen regulären Ausdruck, /\//g, um alle Schrägstriche zu ändern.
spaceAvailable Der an diesem Dateispeicherort verfügbare Speicherplatz in Byte.Number Der an diesem Dateispeicherort verfügbare Speicherplatz in Byte.

Wenn das File-Objekt auf einen Ordner verweist, gibt spaceAvailable den Speicherplatz im Ordner, der für Dateien zur Verfügung steht, an. Wenn das File-Objekt auf eine Datei verweist, gibt spaceAvailable den Speicherplatz, den die Datei einnehmen könnte, an. Wenn der Dateispeicherort nicht vorhanden ist, ist spaceAvailable auf 0 gesetzt. Wenn das File-Objekt ein symbolischer Link ist, gibt spaceAvailable den Speicherplatz an, der am Speicherort, auf den der symbolische Link verweist, zur Verfügung steht.

Normalerweise ist der verfügbare Speicherplatz für einen Ordner oder eine Datei derselbe wie der verfügbare Speicherplatz auf dem Laufwerk, auf dem sich der Ordner bzw. die Datei befindet. Der verfügbare Speicherplatz kann jedoch auch Kontenkontingente und ordnerspezifische Begrenzungen berücksichtigen.

Wenn Sie einem Laufwerk eine Datei oder einen Ordner hinzufügen, wird dabei im Allgemeinen mehr Speicherplatz benötigt, als die Datei bzw. der Inhalt des Ordners tatsächlich belegen. Das Betriebssystem kann zum Beispiel zusätzlichen Speicherplatz zum Speichern von Indexinformationen benötigen. Auch Festplattensektoren benötigen unter Umständen zusätzlichen Speicher. Der verfügbare Speicherplatz ändert sich zudem dynamisch. Sie können also nicht davon ausgehen, dass Sie den gesamten gemeldeten Speicherplatz für das Speichern von Dateien verwenden können.

systemCharset Die vom Host-Betriebssystem verwendete Standardkodierung.String Die vom Host-Betriebssystem verwendete Standardkodierung.

Mögliche Werte sind unter anderem "windows-1252" "shift-jis", "cn-gb", "iso-8859-1". Eine vollständige Liste finden Sie unter Unterstützte Zeichensätze.

Sie können diesen Wert verwenden, wenn Sie die readMultiByte()- und writeMultiByte()-Methode der FileStream-Klasse verwenden.

Im folgenden Beispiel wird eine Datei geöffnet („test.txt“ im Unterordner „AIR Test“ des Dokumentordners des Benutzers) und die statische Eigenschaft File.systemCharset als charSet-Parameter eines Aufrufs der readMultiByte()-Methode eines FileStream-Objekts verwendet. import flash.filesystem.File; var file:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); var str:String = fileStream.readMultiByte(file.size, File.systemCharset); trace(str);
FileStream.readMultiByte()FileStream.writeMultiByte()
url Die URL für diesen Dateipfad.StringDie URL-Syntax ist ungültig. ArgumentErrorArgumentErrorDer Aufrufer befindet sich nicht in der Sicherheitssandbox der Anwendung. SecurityErrorSecurityError Die URL für diesen Dateipfad.

Wenn es sich dabei um einen Verweis auf einen Pfad im Anwendungsspeicherordner handelt, ist das URL-Schema "app-storage"; wenn es sich um einen Verweis auf einen Pfad im Anwendungsordner handelt, ist das URL-Schema "app"; andernfalls ist es "file".

Sie können Leerzeichen (anstelle von "%20") verwenden beim Zuweisen eines Werts zur url-Eigenschaft. AIR kodiert die Strings automatisch (konvertiert zum Beispiel Leerzeichen in "%20").

Im folgenden Beispiel wird der Unterschied zwischen der nativePath-Eigenschaft und der url-Eigenschaft eines File-Objekts deutlich. Die Kommentare zeigen Ergebnisse auf einem Beispiel-Windows-Computer. import flash.filesystem.File; var docs:File = File.documentsDirectory; trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
nativePathdecodeURI() global functiondecodeURIComponent() global functiondecodeURI() global functiondecodeURIComponent() global function
userDirectory Das Verzeichnis des Benutzers.flash.filesystem:File Das Verzeichnis des Benutzers.

Unter Windows ist das der Ordner, der dem Ordner „Eigene Dateien“ übergeordnet ist (z. B. C:\Dokumente und Einstellungen\Benutzername). Unter Mac OS ist dies /Benutzer/Benutzername. Unter Linux ist dies /home/Benutzername.

Die userDirectory-Eigenschaft stellt eine Möglichkeit zum Verweisen auf den Anwendungsordner bereit, die auf allen Plattformen funktioniert. Wenn Sie die nativePath- oder url-Eigenschaft eines File-Objekts direkt setzen, funktioniert sie nur auf der Plattform, auf der der Pfad gültig ist.

Wenn ein Betriebssystem kein Benutzerverzeichnis unterstützt, wird stattdessen ein geeignetes Verzeichnis im Dateisystem verwendet.

Bei Geräten mit AIR für TV verweist die userDirectory-Eigenschaft auf ein Benutzerverzeichnis, das in der Anwendung eindeutig ist.

Im folgenden Beispiel wird eine Liste von Dateien und Verzeichnissen ausgegeben, die sich auf der Stammebene des Benutzerverzeichnisses befinden: import flash.filesystem.File; var files:Array = File.userDirectory.listDirectory(); for (var i:uint = 0; i < files.length; i++) { trace(files[i].nativePath); }
StorageVolume Ein StorageVolume-Objekt enthält Eigenschaften für die Definition eines Massenspeichervolumes.Object Ein StorageVolume-Objekt enthält Eigenschaften für die Definition eines Massenspeichervolumes. Diese Klasse wird auf zwei Arten verwendet:
  • Die storageVolume-Eigenschaft eines StorageVolumeChangeEvent-Objekts ist ein StorageVolume-Objekt. Dieses Objekt repräsentiert das Speichervolume, das bereitgestellt bzw. dessen Bereitstellung aufgehoben wurde.
  • Die StorageVolumeInfo.storageVolumeInfo.getStorageVolumes()-Methode gibt einen Vektor von StorageVolume-Objekten zurück. Jedes dieser StorageVolume-Objekte repräsentiert ein bereitgestelltes Speichervolume.
Im folgenden Code werden die Eigenschaften der einzelnen bereitgestellten Speichervolumes aufgelistet: package { import flash.display.Sprite; import flash.filesystem.StorageVolume; import flash.filesystem.StorageVolumeInfo; public class StorageVolumeExample extends Sprite { public function StorageVolumeExample() { var volumes:Vector.<StorageVolume> = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { var volume:StorageVolume = volumes[i]; trace("nativePath:", volume.rootDirectory.nativePath); trace("fileSystemType:", volume.fileSystemType); trace("isRemovable:", volume.isRemovable); trace("isWritable:", volume.isWritable); trace("drive:", volume.drive); trace("name:", volume.name); trace("________________________________________________________"); } } } } Im folgenden Code sind die Eigenschaften der einzelnen Speichervolumes aufgelistet, die bereitgestellt werden bzw. deren Bereitstellung aufgehoben wird. Beachten Sie, dass die storageVolume-Eigenschaft von StorageVolumeChangeEvent nur für das storageVolumeMount-Ereignis gesetzt wird; sie ist null für das storageVolumeUnmount-Ereignis: package { import flash.display.Sprite; import flash.events.StorageVolumeChangeEvent; import flash.filesystem.StorageVolume; import flash.filesystem.StorageVolumeInfo; public class StorageVolumeChangeEventExample extends Sprite { public function StorageVolumeChangeEventExample() { StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, mountEventHandler); StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, unmountEventHandler); } public function mountEventHandler(event:StorageVolumeChangeEvent):void { var volume:StorageVolume = event.storageVolume; trace("VOLUME MOUNTED:"); trace("nativePath:", event.rootDirectory.nativePath); trace("fileSystemType:", volume.fileSystemType); trace("isRemovable:", volume.isRemovable); trace("isWritable:", volume.isWritable); trace("drive:", volume.drive); trace("name:", volume.name); trace(); } public function unmountEventHandler(event:StorageVolumeChangeEvent):void { trace("VOLUME UNMOUNTED:"); trace("nativePath:", event.rootDirectory.nativePath); trace(); } } }
flash.filesystem.StorageVolumeInfo.getStorageVolumes()flash.events.StorageVolumeChangeEvent.storageVolumeStorageVolume Die Konstruktorfunktion.rootDirPathflash.filesystem:FilenameStringwritableBooleanremovableBooleanfileSysTypeStringdriveString Die Konstruktorfunktion. Im Allgemeinen rufen Sie diese Konstruktorfunktion nicht direkt auf (um neue StorageVolume-Objekte zu erstellen). Sie verweisen vielmehr auf StorageVolume-Objekte, indem Sie auf die storageVolume-Eigenschaft eines StorageVolumeChangeEvent-Objekts zugreifen oder indem Sie StorageVolumeInfo.storageVolumeInfo.getStorageVolumes() aufrufen. drive Der Volumebuchstabe unter Windows.String Der Volumebuchstabe unter Windows. Bei anderen Plattformen ist diese Eigenschaft auf null gesetzt. fileSystemType Das auf den Speichervolumes verwendete Dateisystem (zum Beispiel "FAT", "NTFS", "HFS" oder "UFS").String Das auf den Speichervolumes verwendete Dateisystem (zum Beispiel "FAT", "NTFS", "HFS" oder "UFS"). Mit dem folgenden Code wird der native Pfad für das Stammverzeichnis und der Dateisystemtyp der einzelnen bereitgestellten Speichervolumes aufgelistet. var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].rootDirectory.nativePath, "(" + volumes[i].fileSystemType + ")"); } isRemovable Ob das Betriebssystem das Speichervolume als austauschbar betrachtet (true) oder nicht (false).Boolean Ob das Betriebssystem das Speichervolume als austauschbar betrachtet (true) oder nicht (false).

In der folgenden Tabelle sind die Werte der StorageVolume.isRemovable-Eigenschaft für verschiedene Gerätetypen aufgelistet:

GerätetypMac OSWindowsLinuxCD/DVD (eingebaut)truetruetrueUSB-FlashlaufwerktruetruetrueUSB-FestplattefalsefalsetrueFireWire-FestplattefalsefalsetrueGemeinsames Volumetruefalse- 1NetzwerklaufwerkfalsefalsefalseSpeicherkartenleser (leer)- 2false- 2Speicherkartenleser (mit SD/CF-Karte)truetruetrue

1 Unter Linux gibt es das Konzept freigegebener Volumes nicht.

2 Unter Windows wird ein leerer Speicherkartenleser als nicht austauschbares Gerät aufgeführt. Unter Mac OS und Linux werden leere Kartenleser nicht als Speichervolumes aufgelistet.

Mit dem folgenden Code wird eine Liste aller nicht austauschbaren Speichervolumes gefolgt von einer Liste der austauschbaren Speichervolumes ausgegeben: var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); trace("Non-removeable volumes:"); for (var i:int = 0; i < volumes.length; i++) { if (!volumes[i].isRemovable) { trace(volumes[i].rootDirectory.nativePath); } } trace("\nRemoveable volumes:"); for (i = 0; i < volumes.length; i++) { if (volumes[i].isRemovable) { trace(volumes[i].rootDirectory.nativePath); } }
isWritable Ob ein Volume beschreibbar ist („true“) oder nicht („false“).Boolean Ob ein Volume beschreibbar ist (true) oder nicht (false).

Hinweis: Sie können feststellen, wie viel Speicherplatz auf einem Volume verfügbar ist, indem Sie die rootDirectory.spaceAvailble-Eigenschaft des StorageVolume-Objekts aufrufen.

Mit dem folgenden Code wird eine Liste beschreibbarer Speichervolumes mit dem jeweils verfügbaren Speicherplatz ausgegeben: var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { if(volumes[i].isWritable) { trace(volumes[i].rootDirectory.nativePath, volumes[i].rootDirectory.spaceAvailable); } }
flash.fileSystem.File.spaceAvailable
name Der Name des Volumes.String Der Name des Volumes. Wenn keine Bezeichnung festgelegt wurde, wird diese Eigenschaft auf null gesetzt. Mit dem folgenden Code wird der native Pfad für das Stammverzeichnis und der Dateisystemname (sofern vorhanden) der einzelnen bereitgestellten Speichervolumes aufgelistet. var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { var name:String = new String(); if (volumes[i].name) { name = "(" + volumes[i].name + ")"; } trace(volumes[i].rootDirectory.nativePath, name); } rootDirectory Ein File-Objekt, das dem Stammverzeichnis des Volumes entspricht.flash.filesystem:File Ein File-Objekt, das dem Stammverzeichnis des Volumes entspricht. Mit dem folgenden Code wird der native Pfad für das Stammverzeichnis der einzelnen bereitgestellten Speichervolumes aufgelistet. var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].rootDirectory.nativePath); }