NES 2.0 file-Objekt erstellen  nach oben

Jedes File-Objekt muss separat erstellt und behandelt werden. Dazu wird, wie bei normalen Objekten, der new-Operator verwendet. Ihm folgt der Aufruf File(). Als Parameter muss außerdem der Pfad zu der zu verarbeitenden Datei übergeben werden.
Notation: Objekt = new File( Pfad )

a = new File('abc.txt');
a = new File('C://verzeichnis//abc.txt');

Ist die Datei existent wird sie geöffnet - ist sie es nicht, wird eine neue Datei erstellt und diese geöffnet.
Bitte beachten Sie die Unterscheidung zwischen globalen und lokalen Methoden. Ähnlich wie beim RegExp-Objekt werden globale Methoden hier immer mit File.Methode() wobei lokale Methoden immer ein direkt erstelltes Objekt voraussetzen.

Eigenschaften  nach oben

NES 2.0 constructor

Die constructor-Eigenschaft gibt die Funktion an, die das Objekt erstellt hat.
Notation: Objekt.constructor

NES 2.0 prototype

Die prototype-Eigenschaft gibt eine Referenz auf die eigentliche Objektklasse wieder.
Notation: Objekt.prototype

Methoden  nach oben

NES 2.0 byteToString

Die byteToString-Methode wandelt die angegebene Anzahl an Bytes in einen String um. Als Parameter wird dazu die Anzahl der umzuwandelnden Bytes erwartet.
Notation: Objekt.byteToString( Anzahl )

q = new File("quelle.txt");
if (q.open("r") == true)
{
 z = new File("ziel.txt");
 z.open("w");
 while(!source.eof())
 {
  inhalt = File.byteToString(q.readByte());
  z.write(inhalt);
 }
 z.flush();
 z.close();
}
q.close();

Bitte beachten Sie, dass die Methode nur direkt auf das globale File-Objekt angewandt werden kann und nicht auf lokale Objekte (siehe oben). Das Beispiel liest eine Datei zeichenweise ein und kopiert diese in eine zweite Datei.

clearError

Die clearError-Methode setzt den aktuellen Fehlerstatus zurück. Außerdem wird damit gleichzeitig der Wert der eof-Methode zurück gesetzt. Es werden keine Parameter erwartet.
Notation: Objekt.clearError()

f = new File("datei.txt");
f.open("w");
if(f.error() == 0)
{
 f.write('Text');
 f.flush();
}
else
{ write('Fehler: Datei konnte nicht geöffnet werden.'); }
f.clearError();

close

Die close-Methode schließt eine bereits geöffnete Datei.
Notation: Objekt.close()

f = new File('abc.txt');
f.open('r');
/*...bearbeiten...*/
f.close();

eof

Mit der eof-Methode lässt sich prüfen, ob der Dateizeiger am Ende der Datei angekommen ist (true) oder nicht (false). Dazu werden die zwei booleschen Werte zurückgegeben. Ein Parameter wird nicht erwartet.
Notation: Objekt.eof()

f = new File("abc.txt");
s = '';
if (f.open("r") == true)
{
 while(!f.eof())
 {
  s += f.readln()+'<br>';
 }
 f.close();
}
write(s);

error

Der aktuelle Errorcode/-status wird von der error-Methode zurückgegeben. Der Rückgabewert ist 0 (Null), wenn kein Fehler eingetreten ist und -1 wenn die Datei nicht geöffnet werden konnte.
Notation: Objekt.error()
Beispiel siehe clearError-Methode.

exists

Die exists-Methode überprüft, ob die dem Objekt zugewiesene Datei existiert oder nicht. Ist sie existent wird true, ansonsten false zurückgegeben.
Notation: Objekt.exists()

f = new File('abc.txt');
if(f.exists() == true)
{
/*...machwas...*/
}

flush

Die flush-Methode schreibt den Inhalt des internen Datenspeichers in die Datei. Dies ist deshalb notwendig, da die Methoden zum Schreiben einer Datei ihre Daten vorerst in den Datenspeicher und nicht die Datei schreiben (um eventuelle Fehler zu vermeiden). Erst mit dem Aufruf der flush-Methode wird der Datenspeicher übertragen.
Notation: Objekt.flush()
Beispiel siehe clearError-Methode.

getLength

Die Größe einer Datei wird von der getLength-Methode zurückgegeben. Handelt es sich um binäre Daten wird die Anzahl der Daten zurückgegeben - handelt es sich um Text-Daten wird die Anzahl der Zeichen zurückgegeben. Bei allen anderen Dateien oder einem Fehler wird -1 zurückgegeben. Sie erwartet keine Parameter.
Notation: Objekt.getLength()

f = new File('abc.txt');
a = f.getLength();

getPosition

Die getPosition-Methode gibt die Position des Dateizeigers innerhalb der aktuellen Datei an. Ist ein Fehler aufgetreten wird -1 zurückgegeben.
Notation: Objekt.getPosition()
Beispiel siehe setPosition-Methode.

open

Die open-Methode öffnet eine Datei und weißt ihr einen Dateizeiger zu. Je nach Modus kann die Datei zum Lesen, Schreiben oder Anhängen (oder Kombinationen) geöffnet werden. Der Modus wird als String übergeben, wobei folgende Möglichkeiten bestehen:

  • r - Lesen. Gibt true bei erfolgreichem Öffnen aus - ansonsten false. Schreiben ist nicht Möglich.
  • w - Schreiben. Gibt immer true zurück. Ist die Datei existent, wird sie geöffnet und überschrieben. Existiert sie nicht, wird eine neue Datei erzeugt und geöffnet.
  • a - Anhängen (= ans Dateiende schreiben). Ebenso wie w[b], nur mit dem Unterschied, dass der Zeiger automatisch ans Dateiende gesetzt wird.
  • r+ - Lesen und Schreiben. Existiert die Datei wird true zurückgegeben. Ansonsten false und die Methode scheitert (error()). Der Zeiger beginnt am Dateianfang.
  • w+ - Lesen und Schreiben. Existiert die Datei nicht, wird sie angelegt. Ansonsten wird sie überschrieben. Die Methode gibt immer true aus.
  • a+ Lesen und Anhängen. Existiert die Datei nicht wird sie erstellt und es wird immer true zurückgegeben. Der Zeiger wird an das Dateiende gesetzt.

Notation: Objekt.open(Modus)

f = new File("abc.txt");
if (f.open("r") == true)
{
 /*...bearbeiten...*/  f.close();
}

read

Die read-Methode liest eine angegeben Zahl an Bytes bzw. Zeichen aus einer Datei. Als Parameter wird dazu die Anzahl der auszulesenden Bytes/Zeichen erwartet. Der Dateizeiger wird um die entsprechende Anzahl verschoben.
Notation: Objekt.read( Anzahl )

f = new File("abc.txt");
s = '';
if (f.open("r") == true)
{
 while(!f.eof())
 {
  s += f.read(1);
 }
 f.close();
}
write(s);

readByte

Die readByte-Methode liest - ähnlich der read-Methode - Bytes aus einer Datei. Im Gegensatz zu read ließt die Methode nur jeweils ein Byte. Ist das Dateiende erreicht, wird anstelle des ausgelesenen Bytes die -1 zurückgegeben. Der Dateizeiger wird um 1 verschoben.
Notation: Objekt.readByte()
Beispiel siehe read-Methode.

readln

Die readln-Methode liest die aktuelle Zeile aus einer (Text-)Datei und gibt diese als String zurück. Die Zeilenumbrüche (#13#10 bzw. #10) werden nicht mit ausgegeben. Der Dateizeiger wird um die entsprechende Anzahl verschoben.
Notation: Objekt.readln()
Beispiel siehe read-Methode.

setPosition

Die setPosition-Methode ist quasi das Gegenstück der getPosition-Methode. Sie setzt den Dateizeiger auf eine bestimmte Stelle innerhalb der Datei. Als Parameter wird dazu die Position für den Dateizeiger erwartet (gezählt vom Dateianfang). Optional kann ein zweiter Wert übergeben werden. Wird dieser Angegeben, so gilt die zu setzende Position des Zeigers nicht vom Dateianfang sondern von dem Startpunkt, der durch den zweiten Wert definiert wird. Erhält der zweite Parameter Wert 0 (Null) ist dies gleichbedeutend mit dem Dateianfang; der Wert 1 ist gleichbedeutend mit der aktuellen Position und der Wert 2 steht für das Dateiende - alle anderen für eine Stelle innerhalb der Datei.
Notation: Objekt.setPosition( Position [, Start])

f = new File("abc.txt");
if(f.open("r") == true)
{
 f.setPosition(0);
 s = f.readln();
 i = f.getPosition();
 write('Die erste Zeile ist: '+s);
 write('Sie hat '+i+' Zeichen.');
 f.close();
}

stringToByte

Die globale stringToByte-Methode wandelt einen als Parameter übergebenen String in einen Bytecode um und gibt diesen aus.
Notation: Objekt.stringToByte( String )

f.write(File.stringToByte('Dieser Text wird geschrieben.'));

write

Die write-Methode schreibt einen String in die geöffnete Datei. Als Parameter wird dazu der zu schreibende String erwartet. Außerdem wird true zurück gegeben wenn der String erfolgreich geschrieben wurde - ansonsten false. Der Dateizeiger wird automatisch verschoben.
Notation: Objekt.write( String )

f = new File("abc.txt");
if(f.open("w") == true)
{
 f.write('Neuer Text');
 f.write('der in die');
 f.write('Datei geschrieben');
 f.write('wird.');
 f.close();
}

writeByte

Die writeByte-Methode ist ähnlich der write-Methode. Sie schreibt das als Parameter übergebene Byte in eine Datei. Als Übergabewert muss dazu eine Zahl definiert werden, die dem Byte entspricht. Der Dateizeiger wird automatisch verschoben.
Notation: Objekt.writeByte( Nummer )
Beispiel siehe write-Methode.

writeln

Die writeln-Methode schreibt einen String in die Datei und fügt automatisch die Zeilenumbruchzeichen danach ein (Zeilenweises Schreiben). Als Parameter wird zu schreibende String erwartet. Der Dateizeiger wird automatisch verschoben.
Notation: Objekt.writeln( String )
Beispiel siehe write-Methode.