Datei-Handle

aus Wikipedia, der freien Enzyklopädie
Weiterleitung

Weiterleitung nach:

Ein sogenanntes Handle (engl. hændl, "to handle" bedeutet: bearbeiten, bedienen, behandeln, etw. handhaben, etw. transportieren) wird in der Softwareentwicklung benutzt um Ein- und Ausgabe zwischen Computerprogramm und Außenwelt zu regeln, insbesondere wird ein Datei-Handle für den Lese- und Schreibzugriff auf Dateien benutzt und erleichtert diesen Zugriff. Durch Datei-Handles umgeht man somit komplexe Aufgaben wie Pufferung und ähnliches. Ein Datei-Handle kann auch Geräte, Sockets oder Pipes repräsentieren. Statt Datei-Handle findet man auch den Begriff Filehandle. Unter C++ ähneln die sog. Streams den Handles.

Identifier

Der Name eines Datei-Handles beginnt mit einem Buchstaben. Es wird aber empfohlen, dass der Name eines Handles nur aus Großbuchstaben besteht. Der Grund: In irgendeiner späteren Version der Programmiersprache könnte ein neuer Befehl – diese sind i. A. klein geschrieben – eingeführt werden, der eben genauso heißt wie der Handle. Das würde zu einem Fehler führen.

Beispiele

Anhand der Programmiersprache Perl erklärt, ist aber bei anderen Sprachen ähnlich.

  • In folgenden Beispielen heißt das Datei-Handle FOO. Mithilfe des Befehls open wird eine Datei geöffnet und dem Datei-Handle zugeordnet.
Die Datei "irgendeineDatei" wird geöffnet, um von dieser zu lesen. Mithilfe des Datei-Handles kann auf die Datei zugegriffen werden. Anschließend wird die erste Zeile in die Variable $zeile eingelesen:
open(FOO, "irgendeineDatei");
$zeile = <FOO>;
Die Datei "irgendeineDatei" öffnen, um von dieser zu lesen (wie vorher):
open(FOO, "<irgendeineDatei");
Die Datei "irgendeineDatei" wird erzeugt, um auf diese zu schreiben:
open(FOO, ">irgendeineDatei");
Die bereits existierende Datei "irgendeineDatei" wird am Ende ergänzt:
open(FOO, ">>irgendeineDatei");
Schließen des Dateihandles FOO:
close(FOO);
  • STDIN – ein Datei-Handle, bei dem von der Standardeingabe einer Konsole eingelesen wird. Das ist im Normalfall die Tastatur, also ein Gerät.
  • STDOUT – ein Datei-Handle, bei dem auf die Standardausgabe geschrieben wird, meistens ist das der Bildschirm, also auch ein Gerät.

Im Handle sind alle Informationen die das Betriebssystem benötigt um diese Datei eindeutig zu identifizieren, den Status der Datei zu verwalten und sich die aktuelle Position innerhalb der Datei zum merken, damit weitere Lese- und Schreiboperationen an der richtigen Stelle erfolgen.

Literatur

  • Von Larry Wall, Tom Christiansen, Jon Orwant, übersetzt von Peter Klicman: Programmieren mit Perl, O'Reilly Germany, 2001, ISBN 3-89721-144-0

Weblinks