PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
Dateien und Verzeichnise

Funktionen und Klassen zur Verarbeitung von Dateien und Verzeichnissen. Mehr ...

Ausführliche Beschreibung

Klassen

class  ppl7::ConfigParser
 Lesen und Schreiben von Konfigurationsdateien. Mehr ...
 
class  ppl7::Dir
 Klasse zum Durchsuchen von Verzeichnissen. Mehr ...
 
class  ppl7::DirEntry
 Dateiverzeichnis-Eintrag. Mehr ...
 
class  ppl7::File
 Dateizugriff. Mehr ...
 
class  ppl7::FileAttr
 Definitionen der Datei-Attribute. Mehr ...
 
class  ppl7::FileObject
 Virtuelle Basisklasse für die Klassen File und MemFile. Mehr ...
 
class  ppl7::GzFile
 Zugriff auf eine mit gzip komprimierte Datei. Mehr ...
 
class  ppl7::MemFile
 Simulation von Dateizugriffen im Hauptspeicher. Mehr ...
 

Funktionen

static void ppl7::File::chmod (const String &filename, FileAttr::Attributes attr)
 Setz die Attribute einer exisitierenden Datei. Mehr ...
 
static void ppl7::File::copy (const String &oldfile, const String &newfile)
 Datei kopieren. Mehr ...
 
static String ppl7::Dir::currentPath ()
 Aktuelles Verzeichnis. Mehr ...
 
static void ppl7::File::erase (const String &filename)
 Datei löschen. Mehr ...
 
static bool ppl7::File::exists (const String &filename)
 Prüfen, ob eine Datei existiert. Mehr ...
 
static String ppl7::Dir::homePath ()
 Homeverzeichnis des aktuellen Users. Mehr ...
 
static void ppl7::File::load (ByteArray &object, const String &filename)
 Datei in ein ByteArray laden. Mehr ...
 
static void ppl7::File::load (String &object, const String &filename)
 Datei in einen String laden. Mehr ...
 
static void * ppl7::File::load (const String &filename, size_t *size=NULL)
 Kompletten Inhalt einer Datei laden. Mehr ...
 
static void ppl7::File::move (const String &oldfile, const String &newfile)
 Datei verschieben oder umbenennen. Mehr ...
 
static void ppl7::File::remove (const String &filename)
 Geöffnete Datei löschen. Mehr ...
 
static void ppl7::File::rename (const String &oldfile, const String &newfile)
 Datei verschieben oder umbenennen. Mehr ...
 
static void ppl7::File::save (const void *content, size_t size, const String &filename)
 Daten in Datei schreiben. Mehr ...
 
static void ppl7::File::save (const ByteArrayPtr &object, const String &filename)
 Daten eines von ByteArrayPtr Objekts in Datei schreiben. Mehr ...
 
static String ppl7::Dir::tempPath ()
 Verzeichnis für temporäre Dateien. Mehr ...
 
static void ppl7::File::touch (const String &filename)
 Leere Datei anlegen oder die Zeitstempel des letzten Zugriffs aktualisieren. Mehr ...
 
static void ppl7::File::truncate (const String &filename, ppluint64 bytes)
 Datei abschneiden. Mehr ...
 
static void ppl7::File::unlink (const String &filename)
 Geöffnete Datei löschen. Mehr ...
 

Dokumentation der Funktionen

void ppl7::File::chmod ( const String filename,
FileAttr::Attributes  attr 
)
static
Beschreibung:
Mit dieser Funktion können die Zugriffsattribute einer existierenden Datei gesetzt werden.
Parameter
filenameDer Dateinamen
attrDie Attribute
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
Siehe auch
FileAttr::Attributes
void ppl7::File::copy ( const String oldfile,
const String newfile 
)
static

Mit CopyFile wird die Datei oldfile nach newfile kopiert. Dazu wird die Quelldatei Stück für Stück zunächst in den Hauptspeicher geladen und dann in die Zieldatei geschrieben. War die Zieldatei newfile schon vorhanden, wird sie überschrieben. Anders als bei File::MoveFile oder File::RenameFile müssen die beiden Dateien nicht im gleichen Filesystem liegen.

Parameter
oldfileName der zu kopierenden Datei
newfileName der Zieldatei.
String ppl7::Dir::currentPath ( )
static
Beschreibung:
Diese statische Funktion liefert das aktuelle Verzeichnis zurück.
Rückgabe
String mit dem aktuellen Verzeichnis
void ppl7::File::erase ( const String filename)
static
Beschreibung:
Mit dieser Funktion wird die Datei filename vom Datenträger gelöscht.
Parameter
filenameName der gewünschten Datei
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen. Ein Fehler kann auftreten, wenn die Datei garnicht vorhanden ist oder die notwendigen Zugriffsrechte fehlen.
Zu beachten
Die Funktionen File::erase, File::unlink und File::remove sind identisch
bool ppl7::File::exists ( const String filename)
static
Beschreibung:
Mit exists kann geprüft werden, ob eine Datei im Filesystem vorhanden ist.
Parameter
filenameName der gewünschten Datei
Rückgabe
Ist die Datei forhanden, gibt die Funktion true zurück, andernfalls false.
String ppl7::Dir::homePath ( )
static
Beschreibung:
Diese statische Funktion liefert das Homeverzeichnis des aktuellen Benutzers zurück.
Rückgabe
String mit dem Verzeichnis
Ausnahmebehandlung
UnsupportedFeatureExceptionWird geworfen, wenn das Homeverzeichnis nicht ermittelt werden kann.
void ppl7::File::load ( ByteArray object,
const String filename 
)
static
Beschreibung:
Mit dieser Funktion wird die Datei mit dem Namen filename geöffnet und der kompletten Inhalt in das ByteArray object geladen.
Parameter
[out]objectDas gewünschte Zielobjekt
[in]filenameDer Dateiname
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::load ( String object,
const String filename 
)
static
Beschreibung:
Mit dieser Funktion wird die Datei mit dem Namen filename geöffnet und der kompletten Inhalt in den String object geladen.
Parameter
[out]objectDer String, in den der Dateiinhalt geladen werden soll.
[in]filenameDer Dateiname
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void * ppl7::File::load ( const String filename,
size_t *  size = NULL 
)
static
Beschreibung:
Mit dieser Funktion wird die Datei filename zum Lesen geöffnet und der komplette Inhalt in den Speicher geladen.
Parameter
[in]filenameDer Dateiname
[out]sizeWird ein Pointer auf size übergeben, wird darin die Größe der geladenen Datei gespeichert.
Rückgabe
Bei Erfolg liefert die Funktion einen Pointer auf den Speicherbereich zurück, in den die Datei geladen wurde. Der Aufrufer ist dafür verantwortlich, dass der Speicher nach Gebrauch mit free wieder freigegeben wird. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::move ( const String oldfile,
const String newfile 
)
static
Beschreibung:
Mit dieser Funktion wird die Datei oldfile zu newfile umbenannt. Sie ist identisch mit File::rename. Beide Funktionen arbeiten am effizientesten, wenn die Zieldatei im gleichen Filesystem liegt, da in diesem Fall nur die Verzeichniseinträge geändert werden müssen. Ist dies nicht der Fall, wird automatisch die wesentlich langsamere Funktion File::copy gefolgt von File::remove aufgerufen.
Parameter
oldfileName der zu verschiebenden bzw. umzubenennenden Datei
newfileNeuer Name
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::remove ( const String filename)
static
Beschreibung:
Mit dieser Funktion wird die aktuelle Datei zunächst geschlossen und dann gelöscht.
Rückgabe
Kein Rückgabewert, im Fehlerfall wird eine Exception geworfen.
void ppl7::File::rename ( const String oldfile,
const String newfile 
)
static
Beschreibung:
Mit dieser Funktion wird die Datei oldfile zu newfile umbenannt. Sie ist identisch mit File::move. Beide Funktionen arbeiten am effizientesten, wenn die Zieldatei im gleichen Filesystem liegt, da in diesem Fall nur die Verzeichniseinträge geändert werden müssen. Ist dies nicht der Fall, wird automatisch die wesentlich langsamere Funktion File::CopyFile gefolgt von File::DeleteFile aufgerufen.
Parameter
oldfileName der zu verschiebenden bzw. umzubenennenden Datei
newfileNeuer Name
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::save ( const void *  content,
size_t  size,
const String filename 
)
static
Beschreibung:
Mit dieser Funktion werden size Bytes aus dem Speicherbereich beginnend bei content in die Datei filename geschrieben. War die Datei bereits vorhanden, wird sie überschrieben.
Parameter
contentPointer auf den Speicherbereich, der in die Datei geschrieben werdem soll
sizeAnzahl zu schreibender Bytes
filenameName der gewünschten Datei
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::save ( const ByteArrayPtr object,
const String filename 
)
static
Beschreibung:
Mit dieser Funktion wird der Speicher auf den der ByteArrayPtr object zeigt in die Datei filename geschrieben. War die Datei bereits vorhanden, wird sie überschrieben.
Parameter
objectEin ByteArrayPtrm der auf den zu speichernden Speicherbereich zeigt.
filenameName der gewünschten Datei
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
String ppl7::Dir::tempPath ( )
static
Beschreibung:
Diese statische Funktion liefert das Verzeichnis zurück, in dem temporäre Dateien abgelegt werden können.
Rückgabe
String mit dem Verzeichnis
void ppl7::File::touch ( const String filename)
static
Beschreibung:
TouchFile arbeitet ähnlich wie das Unix-Lommando touch. Ist die angegebene Datei filename noch nicht vorhanden, wird sie als leere Datei angelegt. Ist sie bereits vorhanden, wird der Zeitstempel des letzen Zugriffs aktualisiert.
Parameter
filenameName der gewünschten Datei
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::truncate ( const String filename,
ppluint64  bytes 
)
static
Beschreibung:
Die Funktionen truncate bewirkt, dass die mit filename angegebene Datei an der Position bytes abgeschnitten wird.
Wenn die Datei vorher größer war, gehen überschüssige Daten verloren. Wenn die Datei vorher kleiner war, wird sie vergrößert und die zusätzlichen Bytes werden als Nullen geschrieben.
Parameter
filenameDer Name der gewünschten Datei
bytesPosition, an der die Datei abgeschnitten werden soll.
Rückgabe
Kein Returnwert. Im Fehlerfall wird eine Exception geworfen.
void ppl7::File::unlink ( const String filename)
static
Beschreibung:
Mit dieser Funktion wird die aktuelle Datei zunächst geschlossen und dann gelöscht.
Rückgabe
Kein Rückgabewert, im Fehlerfall wird eine Exception geworfen.