This page is currently available in german only and will be translated soon.

Script library de.foconis.lib.io.file
de.foconis.lib.io.file

Klassen zur Verwendung von Dateisystemoperationen.

Zentrale Klasse dieses Pakets ist FocFile, die eine abstrakte, plattformunabhängige Repäsentation eines Dateifpades darstellt. Zusätzlich ermöglichen FocFileWriter und FocFileReader das Schreiben und Lesen von durch FocFile-Instanzen repräsentierte Dateien.

Obwohl der Umfang der Dokumentation dieses Pakets vielleicht zunächst etwas abschreckend wirken mag, ist die eigentliche Verwendung dieser Klassen tatsächlich recht simpel.

Eine FocFile-Instanz für ein gegebenes Verzeichnis oder eine Datei wird z.B. einfach per

    dim file as FocFile
set file = focStatic(FOC_FILE).newInit("c:\test.txt")
angelegt.

Und um z.B. unter Microsoft Windows den absoluten Pfad einer (tatsächlichen oder "gedachten") Datei "foconis/readme.txt" unterhalb des aktuellen anwenderspezifischen Verzeichnisses für Anwendungsdaten zu ermitteln genügt der Aufruf

    print focStatic(FOC_FILE).newSpecial("win32.folder.current.APPDATA", "foconis/readme.txt").getAbsolutePath()
(dieser Aufruf liefert z.B. "C:\Dokumente und Einstellungen\schnake\Anwendungsdaten\foconis\readme.txt")

Der Umfang der Dokumentation resultiert u.A. aus der Plattformunabhängigkeit von FocFile, wodurch auch die Methoden und Zusammenhänge in einer abstrakten, plattformunabhängigen Terminologie beschrieben werden müssen. Dies führt naturgemäß zu etwas "sperrigeren" Formulierungen.

Für die Anwendung sollte es aber in aller Regel reichen, sich darauf zu verlassen, dass die Methoden schon "das Richtige" gemäß des aktuellen Betriebssystems tun ;-)

Die Klassennamenkonstanten (FOC_FILE etc.) der Klassen dieses Pakets sind in "de.foconis.lib.io" definiert. Daher reicht es, "de.foconis.lib.io" zu "use"en, sofern man auf die Deklaration von speziellen Variablen etc. im Anwendungscode verzichten kann. Im folgenden Codefragment wird z.B. nur "dynamisch" auf Klassen in "de.foconis.lib.io.file" zugegriffen

    use "de.foconis.lib.io"
public sub initialize
dim w as FocWriter
set w = focStatic(FOC_FILE_WRITER).newInit(focStatic(FOC_FILE).newInit("c:\test.txt"))
w.write "Hallo Welt!!"
w.close
end sub

Interface Summary

Class Summary
Public FocFile
     Repräsentiert einen Datei- oder Verzeichnispfadnamen.
Public FocFileOSHelper
     Interne Basisklasse für statische, betriebssystemspezifisch zu implementierende Dateisystem-Methoden.
Public FocFileReader
     Ein Character-Stream Reader dessen Datenquelle eine Datei ist.
Public FocFileWriter
     Ein Characterstream der in eine Datei schreibt.
Private FocFile_SpecialFiles
     FocFile-private Klasse zur statischen Verwaltung der "Magic"-Files innerhalb der FocFile-Klasse.

Exception Summary