|
| Patrick's Programming Library Version 7.0.0 - Dokumentation |
Zugriff auf eine mit gzip komprimierte Datei. Mehr ...
Abgeleitet von ppl7::FileObject.
Öffentliche Typen | |
| enum | SeekOrigin { SEEKCUR =1, SEEKEND, SEEKSET } |
| Ausgangsbasis für Bewegung des Dateizeigers. Mehr ... | |
Öffentliche Methoden | |
| GzFile () | |
| Konstruktor der Klasse. Mehr ... | |
| GzFile (const String &filename, File::FileMode mode=File::READ) | |
| Konstruktor der Klasse mit gleichzeitigem Öffnen einer Datei. Mehr ... | |
| GzFile (int fd) | |
| Konstruktor mit Übernahme eines C-Filehandles. Mehr ... | |
| virtual | ~GzFile () |
| Destruktor der Klasse. Mehr ... | |
| virtual void | close () |
| Datei schließen. Mehr ... | |
| ppluint64 | copyFrom (FileObject &quellfile, ppluint64 quelloffset, ppluint64 bytes, ppluint64 zieloffset) |
| Daten aus einer anderen Datei kopieren. Mehr ... | |
| ppluint64 | copyFrom (FileObject &quellfile, ppluint64 bytes) |
| Daten aus einer anderen Datei kopieren. Mehr ... | |
| virtual bool | eof () const |
| Prüfen, ob Dateiende erreicht ist. Mehr ... | |
| virtual int | fgetc () |
| Zeichen lesen. Mehr ... | |
| virtual char * | fgets (char *buffer, size_t num) |
| String lesen. Mehr ... | |
| virtual wchar_t | fgetwc () |
| Wide-Character Zeichen lesen. Mehr ... | |
| virtual wchar_t * | fgetws (wchar_t *buffer, size_t num=1024) |
| Wide-Character String lesen. Mehr ... | |
| const String & | filename () const |
| Dateiname auslesen. Mehr ... | |
| virtual void | flush () |
| Gepufferte Daten schreiben. Mehr ... | |
| virtual void | fputc (int c) |
| Zeichen schreiben. Mehr ... | |
| virtual void | fputs (const char *str) |
| String schreiben. Mehr ... | |
| virtual void | fputwc (wchar_t c) |
| Wide-Character Zeichen schreiben. Mehr ... | |
| virtual void | fputws (const wchar_t *str) |
| Wide-Character String schreiben. Mehr ... | |
| virtual size_t | fread (void *ptr, size_t size, size_t nmemb) |
| Lesen eines Datenstroms. Mehr ... | |
| virtual size_t | fwrite (const void *ptr, size_t size, size_t nmemb) |
| Schreiben eines Datenstroms. Mehr ... | |
| virtual int | getFileNo () const |
| Filenummer der Datei. Mehr ... | |
| int | gets (String &buffer, size_t num=1024) |
| String lesen. Mehr ... | |
| String | gets (size_t num=1024) |
| String lesen. Mehr ... | |
| int | getws (String &buffer, size_t num=1024) |
| Wide-Character String lesen. Mehr ... | |
| String | getws (size_t num=1024) |
| Wide-Character String lesen. Mehr ... | |
| virtual bool | isOpen () const |
| Prüfen, ob eine Datei geöffnet ist. Mehr ... | |
| char * | load () |
| Den kompletten Inhalt der Datei laden. Mehr ... | |
| int | load (ByteArray &target) |
| Den kompletten Inhalt der Datei in ein Objekt laden. Mehr ... | |
| virtual void | lockExclusive (bool block=true) |
| Datei exklusiv sperren. Mehr ... | |
| virtual void | lockShared (bool block=true) |
| Datei zum Lesen sperren. Mehr ... | |
| const char * | map () |
| Datei in den Speicher mappen. Mehr ... | |
| virtual const char * | map (ppluint64 position, size_t size) |
| Datei Read-Only in den Speicher mappen. Mehr ... | |
| virtual char * | mapRW (ppluint64 position, size_t size) |
| Datei Les- und Schreibbar in den Speicher mappen. Mehr ... | |
| String | md5 () |
| void | open (const String &filename, File::FileMode mode=File::READ) |
| Datei öffnen. Mehr ... | |
| void | open (const char *filename, File::FileMode mode=File::READ) |
| Datei zum Lesen oder Schreiben öffnen. Mehr ... | |
| void | open (int fd, File::FileMode mode=File::READ) |
| PPL7EXCEPTION (IllegalFilemodeException, Exception) | |
| void | puts (const String &str) |
| String schreiben. Mehr ... | |
| void | putsf (const char *fmt,...) |
| Formatierten String schreiben. Mehr ... | |
| void | putws (const WideString &str) |
| Wide-Character-String schreiben. Mehr ... | |
| size_t | read (void *target, size_t bytes, ppluint64 fileposition) |
| Daten lesen. Mehr ... | |
| size_t | read (void *target, size_t bytes) |
| Daten lesen. Mehr ... | |
| size_t | read (ByteArray &target, size_t bytes) |
| Daten in ein Objekt einlesen. Mehr ... | |
| virtual void | rewind () |
| Dateizeiger an den Anfang der Datei bringen. Mehr ... | |
| virtual void | seek (ppluint64 position) |
| Dateizeiger auf gewünschte Stelle bringen. Mehr ... | |
| virtual ppluint64 | seek (pplint64 offset, SeekOrigin origin) |
| Dateizeiger auf gewünschte Stelle bringen. Mehr ... | |
| void | setFilename (const char *filename) |
| Dateiname festlegen. Mehr ... | |
| void | setFilename (const String &filename) |
| Dateiname festlegen. Mehr ... | |
| virtual void | setMapReadAhead (size_t bytes) |
| Minimalgröße des Speicherblocks bei Zugriffen mit FileObject::Map. Mehr ... | |
| virtual ppluint64 | size () const |
| Größe der geöffneten Datei. Mehr ... | |
| virtual void | sync () |
| Dateiänderungen sofort auf die Platte schreiben. Mehr ... | |
| virtual ppluint64 | tell () |
| Aktuelle Dateiposition ermitteln. Mehr ... | |
| virtual void | truncate (ppluint64 length) |
| Datei abschneiden. Mehr ... | |
| virtual void | unlock () |
| Dateisperre aufheben. Mehr ... | |
| virtual void | unmap () |
| Mapping aufheben. Mehr ... | |
| size_t | write (const void *source, size_t bytes, ppluint64 fileposition) |
| Daten schreiben. Mehr ... | |
| size_t | write (const void *source, size_t bytes) |
| Daten schreiben. Mehr ... | |
| size_t | write (const ByteArrayPtr &object, size_t bytes=0) |
| Daten eines von Variant abgeleiteten Objekts schreiben. Mehr ... | |
Geschützte Attribute | |
| char * | buffer |
Private Methoden | |
| void | throwErrno (int e) |
| Exception anhand errno-Variable werfen. Mehr ... | |
| void | throwErrno (int e, const String &filename) |
| Exception anhand errno-Variable werfen Mehr ... | |
Private Attribute | |
| void * | ff |
|
inherited |
| Aufzählungswerte | |
|---|---|
| SEEKCUR |
Ausgehend von der aktuellen Position des Dateizeigers. |
| SEEKEND |
Ausgehend vom Ende der Datei. |
| SEEKSET |
Ausgehend vom Anfang der Datei. |
| ppl7::GzFile::GzFile | ( | ) |
| ppl7::GzFile::GzFile | ( | const String & | filename, |
| File::FileMode | mode = File::READ |
||
| ) |
Konstruktor der Klasse, mit dem gleichzeitig eine Datei geöffnet wird.
| [in] | filename | Name der zu öffnenden Datei |
| [in] | mode | Zugriffsmodus. Defaultmäßig wird die Datei zum binären Lesen geöffnet (siehe ppl7_File_Filemodi) |
| ppl7::GzFile::GzFile | ( | int | fd | ) |
| [in] | handle | File-Handle |
|
virtual |
|
virtual |
Erneute Implementation von ppl7::FileObject.
|
inherited |
bytes Bytes ab der Position quelloffset der Quelldatei quellfile gelesen an die Position zieloffset dieser Datei kopiert.| quellfile | Das Dateiobjekt, aus dem gelesen werden soll |
| quelloffset | Position innerhalb der Quelldatei, ab der die Daten gelesen werden sollen |
| bytes | Anzahl zu kopierender Bytes |
| zieloffset | Position in dieser Datei, an die die Daten geschrieben werden sollen |
|
inherited |
quellfile an den aktuellen Zeiger dieser Datei kopiert.| quellfile | Das Dateiobjekt, aus dem gelesen werden soll |
| bytes | Anzahl zu kopierender Bytes |
|
virtual |
true zurück, wenn das Dateiende erreicht wurde, sonst false Falls die Datei nicht geöffnet war, wird wird eine Exception geworfen. Erneute Implementation von ppl7::FileObject.
|
virtual |
Erneute Implementation von ppl7::FileObject.
|
virtual |
num minus ein Zeichen aus der Datei und speichert sie in dem Puffer, auf den buffer zeigt. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.| buffer | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss vorher vom Aufrufer allokiert worden sein und mindestens num Bytes groß sein. |
| num | Anzahl zu lesender Zeichen |
buffer zurückgegeben, bei Dateiende wird NULL zurückgegeben. Im Fehlerfall wird eine Exception geworfen. Erneute Implementation von ppl7::FileObject.
|
virtualinherited |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
num minus ein Zeichen (nicht Bytes) eines Wide-Character-Strings aus der Datei und speichert sie in dem Puffer, auf den buffer zeigt. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.| buffer | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss vorher vom Aufrufer allokiert worden sein und mindestens num * sizeof(wchar_t) Bytes groß sein. |
| num | Anzahl zu lesender Zeichen |
buffer zurückgegeben, bei Dateiende wird NULL zurückgegeben. Im Fehlerfall wird eine Exception geworfen.| UnimplementedVirtualFunctionException | geworfen. |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
inherited |
|
virtualinherited |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
c, umgesetzt in ein unsigned char, in den Ausgabestrom. | c | Zu schreibendes Zeichen |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
str ohne sein nachfolgendes 0-Byte in den Ausgabestrom.Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
c in den Ausgabestrom. | c | Zu schreibendes Zeichen |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
str ohne sein nachfolgendes 0-Byte in den Ausgabestrom.Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtual |
nmemb Datenelemente vom Dateistrom und speichert es an der Speicherposition, die durch ptr bestimmt ist. Jedes davon ist \ size Byte lang.| [out] | ptr | Pointer auf den Speicherbereich, in den die gelesenen Daten abgelegt werden sollen. Der Aufrufer muss vorher mindestens size * nmemb Bytes Speicher reserviert haben. |
| [in] | size | Größe der zu lesenden Datenelemente |
| [in] | nmemb | Anzahl zu lesender Datenelemente |
| EndOfFileException | Wird geworfen, wenn das Dateiende erreicht wurde |
Erneute Implementation von ppl7::FileObject.
|
virtualinherited |
nmemb Datenelemente der Größe size Bytes, in den Dateistrom. Sie werden von der Speicherstelle, die durch ptr angegeben ist, gelesen.| ptr | Pointer auf den Beginn des zu schreibenden Speicherbereiches. |
| size | Größe der zu schreibenden Datenelemente |
| nmemb | Anzahl zu schreibender Datenelemente |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
inherited |
num minus ein Zeichen aus der Datei und speichert sie im String-Objekt buffer. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.| buffer | String-Objekt, in dem die gelesenen Daten gespeichert werden sollen. |
| num | Anzahl zu lesender Zeichen |
buffer ist im Fehlerfall undefiniert.
|
inherited |
num minus ein Zeichen aus der Datei und liefert deren Inhalt als String-Objekt zurück. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.| num | Anzahl zu lesender Zeichen |
|
inherited |
num minus ein Zeichen aus der Datei und speichert sie im Wide-Character-String-Objekt buffer. Das Lesen stoppt nach einem WEOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.| buffer | Wide-Character-String-Objekt, in dem die gelesenen Daten gespeichert werden sollen. |
| num | Anzahl zu lesender Zeichen. Hierbei handelt es sich tatsächlich um Zeichen, nicht um Bytes. Die Anzahl zu lesender Bytes wird intern mit der Formel num * sizeof(wchar_t) errechnet. |
buffer ist im Fehlerfall undefiniert.
|
inherited |
num minus ein Zeichen aus der Datei liefert sie als Wide-Character-String-Objekt zurück. Das Lesen stoppt nach einem WEOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.| num | Anzahl zu lesender Zeichen. Hierbei handelt es sich tatsächlich um Zeichen, nicht um Bytes. Die Anzahl zu lesender Bytes wird intern mit der Formel num * sizeof(wchar_t) errechnet. |
|
virtual |
true zurück, wenn die Datei offen ist, ansonsten false. Erneute Implementation von ppl7::FileObject.
|
inherited |
free wieder freigegeben werden.
|
inherited |
object geladen.| [out] | object | Das gewünschte Zielobjekt |
|
virtualinherited |
| block | Gibt an, ob die Funktion warten soll (blocken), bis die Datei gesperrt werden kann (block=true) oder sofort mit einer Fehlermeldung zurückkehren soll (block=false). |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
| block | Gibt an, ob die Funktion warten soll (blocken), bis die Datei gesperrt werden kann (block=true) oder sofort mit einer Fehlermeldung zurückkehren soll (block=false). |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
inherited |
mmap nicht zur Verfügung, wird die Datei in den Hauptspeicher geladen. Die File-Klasse kümmert sich selbst daraum, dass der Speicher auch wieder freigegeben wird.
|
virtualinherited |
mmap nicht zur Verfügung, wird die Datei in den Hauptspeicher geladen. Die File-Klasse kümmert sich selbst daraum, dass der Speicher auch wieder freigegeben wird. | [in] | position | Die gewünschte Startposition innerhalb der Datei |
| [in] | size | Die Anzahl Bytes, die gemapped werden sollen. |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
mmap nicht zur Verfügung, wird die Datei in den Hauptspeicher geladen. Die File-Klasse kümmert sich selbst daraum, dass der Speicher nach Gebrauch wieder zurück in die Datei geschrieben und freigegeben wird. | [in] | position | Die gewünschte Startposition innerhalb der Datei |
| [in] | size | Die Anzahl Bytes, die gemapped werden sollen. |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
inherited |
| void ppl7::GzFile::open | ( | const String & | filename, |
| File::FileMode | mode = File::READ |
||
| ) |
| [in] | filename | Dateiname |
| mode | Zugriffsmodus |
| void ppl7::GzFile::open | ( | const char * | filename, |
| File::FileMode | mode = File::READ |
||
| ) |
| void ppl7::GzFile::open | ( | int | fd, |
| File::FileMode | mode = File::READ |
||
| ) |
| ppl7::GzFile::PPL7EXCEPTION | ( | IllegalFilemodeException | , |
| Exception | |||
| ) |
|
inherited |
str ohne sein nachfolgendes 0-Byte in den Ausgabestrom.| str | String-Objekt mit den zu schreibenden Daten |
|
inherited |
fmt und Einsetzen der optionalen Parameter ohne sein nachfolgendes 0-Byte in den Ausgabestrom.| fmt | Pointer auf den Formatierungsstring |
| ... | Optionale Parameter, die im Formatierungsstring verwendet werden. |
|
inherited |
str ohne sein nachfolgendes 0-Byte in den Ausgabestrom.| str | String-Objekt mit den zu schreibenden Daten |
|
inherited |
| target | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss zuvor vom Aufrufer allokiert worden sein und mindestens bytes gross sein. |
| bytes | Anzahl zu lesender Bytes |
| fileposition | Position in der Datei, an der die Daten gelesen werden sollen |
|
inherited |
bytes Bytes ab der aktuellen Position des Dateistroms und speichert sie im Hauptspeicher an der duch target bestimmten Position. Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fread auf, um den eigentlichen Lesevorgang durchzuführen.| target | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss zuvor vom Aufrufer allokiert worden sein und mindestens bytes gross sein. |
| bytes | Anzahl zu lesender Bytes |
|
inherited |
bytes Bytes ab der aktuellen Position des Dateistroms und speichert sie im Objekt target.Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fread auf, um den eigentlichen Lesevorgang durchzuführen.
| target | Das Objekt, in dem die gelesenen Daten gespeichert werden sollen. |
| bytes | Anzahl zu lesender Bytes |
|
virtual |
Erneute Implementation von ppl7::FileObject.
|
virtual |
| [in] | position | Gewünschte Position innerhalb der Datei |
| diverse |
Erneute Implementation von ppl7::FileObject.
|
virtual |
offset zu der Position, die durch origin angegeben ist. Wenn origin auf SEEK_SET, SEEK_CUR, oder SEEK_END, gesetzt ist, ist der Offset relativ zum Dateianfang, der aktuellen Position, oder dem Dateiende.Ein erfolgreicher Aufruf der Funktion fseek löscht den Dateiendezeiger für den Stream.
| offset | Anzahl Bytes, die gesprungen werden soll. |
| origin | Gibt die Richtung an, in die der Dateizeiger bewegt werden soll. Es kann einen der folgenden Werte annehmen:
|
Erneute Implementation von ppl7::FileObject.
|
inherited |
| [in] | filename | Ein Formatstring oder der Dateiname |
| [in] | ... | beliebig viele Parameter, sofern filename ein Formatstring ist |
|
inherited |
| [in] | filename | Ein CString, der den Dateinamen enthält. |
|
virtualinherited |
| bytes | Anzahl Bytes, die im Voraus gemapped werden sollen. |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
Ein Aufruf dieser Funktion bewirkt, dass alle Dateiänderungen sofort auf die Festplatte geschrieben werden. Sie sollte daher vor dem Schließen einer kritischen Datei mit CFile::Close aufgerufen werden, unter Umständen sogar nach jedem Schreibzugriff.
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtual |
Erneute Implementation von ppl7::FileObject.
|
private |
| e | Errorcode aus der errno-Variablen |
|
private |
| e | Errorcode aus der errno-Variablen |
| filename | Dateiname, bei der der Fehler aufgetreten ist |
|
virtualinherited |
length Bytes abgeschnitten wird. | length | Position, an der die Datei abgeschnitten werden soll. |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
virtualinherited |
Erneute Implementation in ppl7::File und ppl7::MemFile.
|
inherited |
| source | Pointer auf den Speicherbereich, der geschrieben werden soll |
| bytes | Anzahl zu schreibender Bytes |
| fileposition | Position in der Datei, an der die Daten gespeichert werden solle |
|
inherited |
| source | Pointer auf den Speicherbereich, der geschrieben werden soll |
| bytes | Anzahl zu schreibender Bytes |
|
inherited |
| object | Das zu speichernde Variant Objekt |
| bytes | Anzahl zu schreibender Bytes |
|
protectedinherited |
|
private |