Klasse "File"
Die Klasse "File" ist nützlich zum Lesen und Schreiben von externen Textdateien.
AccessMode-Aufzählung
Die Klasse "File" enthält eine Aufzählung, die file.open nutzt, um den Modus für eine Datei festzulegen, wenn sie geöffnet wird. Diese Elemente sind das Argument für einen "Open"-Befehl. Ihnen wird das Wort "File" vorangestellt. Die Werte werden angezeigt:
AccessMode-Werte | Beschreibung |
ReadOnly | Öffnet die Datei als schreibgeschützt |
WriteOnly | Öffnet die Datei als lesegeschützt. Wenn zusammen mit "Append" verwendet, wird die Datei nicht abgeschnitten. Wenn allein (oder zusammen mit "Truncate") verwendet, wird die Datei abgeschnitten. |
ReadWrite | Öffnet die Datei im Lese-/Schreibmodus. Beachten Sie, dass die Datei nicht abgeschnitten wird. |
Append | Öffnet die Datei im Anfügemodus. (WriteOnly muss verwendet werden, um eine Datei anfügbar zu machen: WriteOnly | Append) Zum Schreiben in eine Protokolldatei. |
Truncate | Schneidet die Datei ab |
Translate | Aktiviert die Zeilenumbrüche und Zeilenvorschub-Verschiebung für Textdateien in Windows |
Zum Öffnen einer Datei namens "F" als lesegeschützt geben Sie diesen Befehl ein:
f.open(File.WriteOnly | File.Translate);
Das Flag "Translate" wird für Windows benötigt.
Statische Funktionen
Im Gegensatz zu Methoden verweisen statische Funktionen nicht auf ein bestimmtes Objekt. Zur Verwendung dieser Befehle stellen Sie ihnen "File" voran. Dies weist darauf hin, dass diese Funktionen mit der Klasse "File" verknüpft werden.
Statische Funktionen | Beschreibung |
exists(filename) | Boolesch: TRUE, wenn fileName vorhanden ist; FALSE, wenn er nicht vorhanden ist (Dateiname = Zeichenfolge) |
remove(filename) | Falls der Dateiname bereits vorhanden ist, wird er gelöscht. Wenn nicht, wird eine Ausnahme (Dateiname = Zeichenfolge) zurückgegeben |
write(Dateiname, Inhalt) | Schreibt Inhalt in den Dateinamen. Dadurch wird der ursprüngliche Inhalt vollständig ersetzt, wenn die Datei bereits vorhanden ist. Gibt eine Ausnahme zurück, wenn nicht in die Datei geschrieben werden kann. Dateiname = Zeichenfolge; Inhalt = Zeichenfolge |
read(filename) | Liest den Inhalt der Datei und gibt ihn zurück, wenn dies möglich ist. Wenn nicht, wird eine Ausnahme zurückgegeben. Dateiname = Zeichenfolge |
isFile(filename) | Boolesch: TRUE, wenn der Dateiname eine Datei ist; FALSE, wenn er keine Datei ist |
isDir(filename) | Boolesch: TRUE, wenn der Dateiname ein Verzeichnis ist; FALSE, wenn er kein Verzeichnis ist |
Wenn Sie z. B. überprüfen möchten, ob eine Datei mit dem Namen "logfile.txt" vorhanden ist, geben Sie den folgenden Befehl ein:
File.exists(“logfile.txt”);
Eigenschaften der Klasse "File"
Alle Eigenschaften in der Klasse "File" sind schreibgeschützt.
Eigenschaften der Klasse "File" | Typ | Beschreibung |
name | Zeichenfolge | Name der Datei einschließlich der Erweiterung |
path | Zeichenfolge | Pfad zur Datei |
fullName | Zeichenfolge | Der vollständige Name der Datei: Pfad, Name und Erweiterung |
baseName | Zeichenfolge | Nur der Name der Datei (ohne Pfad oder Erweiterung) |
extension | Zeichenfolge | Erweiterung des Dateinamens |
exists | Boolesch | TRUE, wenn die Datei bereits vorhandenist; FALSE, wenn Sie nicht vorhanden ist |
readable | Boolesch | TRUE, wenn die Datei gelesen werden kann |
writable | Boolesch | TRUE, wenn in die Datei geschrieben werden kann |
executable | Boolesch | TRUE, wenn die Datei ausgeführt werden kann |
hidden | Boolesch | TRUE, wenn die Datei ausgeblendet ist |
eof | Boolesch | TRUE, wenn beim Lesen der Datei das Ende erreicht wird |
created | Datum | Wann die Datei erstellt wurde |
lastModified | Datum | Wann die Datei zuletzt geändert wurde |
lastRead | Datum | Wann die Datei zuletzt gelesen wurde |
size | Zahl | Größe der Datei; in Byte |
Methoden der Klasse "File"
Methoden der Klasse "File" | Beschreibung | Datenrückgabe |
new File(filename) | Erstellt eine Datei, die auf diesen Dateinamen verweist, Dateiname = Zeichenfolge | Nein |
open(accessMode) | Öffnet die Datei mit dem Namen accessMode | Nein |
close() | Schließt die Datei | Nein |
readByte() | Liest ein Byte aus der Datei; gibt eine Zahl zurück | Ja |
read() | Gibt den vollständigen Inhalt der Datei als Zeichenfolge zurück. Wenn die Datei nicht gelesen werden kann, wird eine Ausnahme zurückgegeben. | Ja |
readLine() | Liest eine Zeile aus der Datei aus, wenn möglich; gibt eine Ausnahme zurück, wenn dies nicht möglich ist. Nachgestellte Leerzeichen werden beibehalten. | Ja |
readLines() | Gibt den Inhalt der Datei als eine Reihe von Zeichenfolgen zurück, eine für jede Zeile; Zeilenumbrüche werden aus Zeichenfolgen entfernt | Ja |
writeByte(byte) | Schreibt ein Byte in die Datei | Nein |
write(data, length) | Schreibt die Anzahl der Zeichen aus Daten in die Datei | Nein |
writeLine(data) | Schreibt die Zeile "data" in die Datei und fügt einen Zeilenumbruch hinzu. | Nein |
copyTo(newName) | Kopiert die aktuelle Datei zu "newName" und gibt TRUE zurück, wenn das Kopieren erfolgreich war | Ja |
Ein Beispiel für diesen Befehl ist vorgegeben:
f = new File(a.path + "/pressure.txt");
f.open(File.WriteOnly | File.Translate);
f.writeLine("Geschwindigkeit, Druck");
f.close();
Es folgt eine detaillierte Beschreibung:
Im Folgenden wird ein Objekt mit dem Namen f erstellt und der Name „pressure.txt“ zugewiesen.
f = new File("pressure.txt");
Dann wird diese Datei geöffnet und zwei AccessMode-Aufzählungen werden verwendet, um anzugeben, dass diese Datei schreibgeschützt ist und in Windows verwendet wird (Translate-Modifikator):
f.open(File.WriteOnly | File.Translate);
Die Wörter „Geschwindigkeit“ und „Druck“ werden in die Datei geschrieben und dort als Spaltentitel verwendet:
f.writeLine("Geschwindigkeit, Druck");
Die Datei wird geschlossen:
f.close();