Hallo Leute,
ich habe ein Problem mit meinem Datei-Format . Am Anfange der Datei stehen erstmal 8 Bytes um das Dateiformat zu bestätigen. Gefolgt von einem Int32 zum bestimmen, wieviele elemente in der Datei sind. Das steht deshalb dort, weil in Dateien dieses typs gerne mal 100.000 elemente sein können und ich beim auslesen eine progressbar haben will.
Beim schreiben möchte ich aber nicht schon am anfang wissen müssen, wieviele am ende drin sind. Also dachte ich mir folgendes:
Einfach die 8 bytes und 0 für die Elemente schreiben. Dann in der Writer-Klasse inter zählen, wie oft write() aufgerufen wurde und dann am ende in close() oder flush() die 2 bytes noch "überschreiben". Allerdings führt das dazu, dass die Datei dann aus 10 bytes besteht - nicht im Sinne des Erfinders.
Gibts da ne Möglichkeit oder muss ich das bereits vorher wissen?
ich habe ein Problem mit meinem Datei-Format . Am Anfange der Datei stehen erstmal 8 Bytes um das Dateiformat zu bestätigen. Gefolgt von einem Int32 zum bestimmen, wieviele elemente in der Datei sind. Das steht deshalb dort, weil in Dateien dieses typs gerne mal 100.000 elemente sein können und ich beim auslesen eine progressbar haben will.
Beim schreiben möchte ich aber nicht schon am anfang wissen müssen, wieviele am ende drin sind. Also dachte ich mir folgendes:
Einfach die 8 bytes und 0 für die Elemente schreiben. Dann in der Writer-Klasse inter zählen, wie oft write() aufgerufen wurde und dann am ende in close() oder flush() die 2 bytes noch "überschreiben". Allerdings führt das dazu, dass die Datei dann aus 10 bytes besteht - nicht im Sinne des Erfinders.
Gibts da ne Möglichkeit oder muss ich das bereits vorher wissen?