Funktionsreferenz

FileOpen

Öffnet eine Textdatei zum Lesen oder Schreiben.

FileOpen ( "filename" [, mode ] )

 

Parameter

filename Dateiname der zu öffnenden Textdatei.
mode [optional] Modus in dem die Datei geöffnet werden soll.
Kann auch eine Kombination aus folgenden sein:
  0 = Lesemodus (Standard)
  1 = Schreibmodus (anhängend an das Dateiende)
  2 = Schreibmodus (löschen des vorherigen Inhaltes)
  8 = Anlegen der Verzeichnisstruktur, wenn sie nicht existiert (siehe Bemerkungen).
  16 = Erzwinge den Binärmodus (Siehe Bemerkungen)
  32 = Verwende Unicode-UTF16 mit Little-Endian-Kodierung im Lese- und Schreibmodus. Lesen überschreibt ein existierendes BOM nicht.
  64 = Verwende Unicode-UTF16 mit Big-Endian-Kodierung im Lese- und Schreibmodus. Lesen überschreibt ein existierendes BOM nicht.
  128 = Verwende Unicode-UTF8 Kodierung im Lese- und Schreibmodus. Lesen überschreibt ein existierendes BOM nicht.
  256 = Verwende Unicode-UTF8 (ohne BOM) im Lese- und Schreibmodus.
  16384 = Wenn zum Lesen geöffnet wird und kein BOM verfügbar ist, so wird auf die komplette Datei UTF8 Erkennung angewendet. Falls dies nicht verwendet wird, so wird nur der Anfang der Datei nach UTF8 untersucht.
Der Verzeichnispfad muss bereits vorhanden sein (außer Modus "8" - siehe Bemerkungen).

 

Rückgabewert

Erfolg: Gibt ein Handle auf die Datei zurück, das für die folgenden Funktionen benötigt wird.
Fehler: Gibt -1 zurück, wenn ein Fehler aufgetaucht ist.

 

Bemerkungen

Das Dateihandle muss mit der FileClose() Funktion wieder geschlossen werden.
Das Öffnen einer Datei kann möglicherweise fehlschlagen, durch fehlende Zugriffsrechte oder Attribute.
Standardmodus beim Schreiben von Text ist ANSI. Um dies zu ändern ist das Unicode-Flag zu verwenden. Wenn Unicode-Dateien geschrieben werden, so ist der Windows Standardmodus (und der schnellste in AutoIt durch die kürzliche Umstellung) UTF16 Little Endian (mode 32).
Wird eine Datei im Schreibmodus (write mode) geöffnet, so wird die Datei erstellt, falls sie noch nicht existiert. Verzeichnisse werden nicht erstellt, außer das entsprechende Flag wird verwendet.
Falls mit dem gleichen Dateihandle gelesen und geschrieben wird, so muss die FileSetPos() Funktion verwendet werden um die aktuelle Dateiposition zu aktualisieren.

 

Verwandte Funktionen

FileClose, FileFlush, FileRead, FileReadLine, FileWrite, FileWriteLine, FileGetPos, FileSetPos

 

Beispiel


$file = FileOpen("test.txt", 0)

; Prüfen, ob Datei zum Lesen geöffnet wurde
If $file = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
EndIf

FileClose($file)


; Ein anderes Beispiel, das die Verzeichnisstruktur automatisch erstellt
$file = FileOpen("test.txt", 10) ; Dies ist gleichzusetzen mit 2 + 8 (löschen und Verzeichnis erstellen)

If $file = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
EndIf

FileClose($file)