Rolf B: node Dateilesen

Beitrag lesen

Hallo effel,

Mein Problem: Nach dem Lesen steht der Zähler auf Ende der Datei.

Woher hast Du diese Hypothese? Meine ist: Es gibt den Zähler nicht mehr. Denn readFileSync öffnet die Datei, liest sie ein und macht sie wieder zu. Alles in einem Rutsch.

Ein fs.open ist für fs.readFileSync irrelevant. Und es ist asynchron, d.h. wenn Du die beiden Codeteile direkt nacheinander ausführst, ist der fs.open noch gar nicht durch, wenn readFileSync losläuft. Die Irrelevanz erkennst Du auch darin, dass readFileSync vom Inhalt von fd gar keinen Gebrauch macht.

Wenn die Datei nicht existiert, fliegt aus readFileSync ein Error dieser Art:

Error: ENOENT: no such file or directory

Wenn also beim zweiten Lesen ein leerer Inhalt herauskommt, hat das andere Gründe als Du vermutest. Hast Du mal den Inhalt von arg1 bei beiden Leseversuchen ausgegeben? Hat sich vielleicht das Verzeichnis geändert? Das kriegst Du mit process.cwd() heraus.

Rolf

--
sumpsi - posui - obstruxi