Fehle ich etwas oder fehlen dem standardmäßigen Datei-I/O-Modul von node.js Analoga der üblichen Direktzugriffsmethoden?Wie kann ich Lesezugriffe auf (große) Dateien mit node.js durchführen?
seek()
/fseek()
tell()
/ftell()
Wie kann man zufällig mit fester Größe Aufzeichnungen von großen Dateien in Knoten ohne diesen zu lesen?
Die Zeiten, die ich 'tell' benutze, sind meistens, wenn ich Text in plattformunabhängigem Code zeilenweise lese, der Zeilen haben kann, die entweder mit' \ n' enden, '\ r' (nicht mehr üblich), oder' \ r \ n'. Es ist sicherlich immer noch möglich, die Position zu verfolgen, ohne "sagen" zu müssen. – hippietrail
Für alle anderen, die diesen Thread lesen könnten, habe ich den Parameter 'position' vermisst, weil ich ihn beim Lesen der Dokumente mit dem 'offset'-Parameter zusammengeführt habe, welcher der Offset vom Anfang des Puffers ist möchte Daten in lesen. – hippietrail
Dies funktioniert hervorragend zum Lesen von Datensätzen aus Binärdateien, aber ich muss auch Textzeilen aus übergebenen Dateioffsets lesen. Es erweist sich als sehr schwierig, eine einzelne Textzeile mit 'fs.read' zu lesen, da' Buffer' verwendet wird und diese in kodierten Text wie UTF-8 konvertiert werden müssen. Die offensichtlichen Wege führen zu gebrochenen Zeichen, da UTF-8 Multibyte-Zeichen enthält. 'ReadableStream' behandelt Multibyte-Zeichen, ermöglicht jedoch keine freie Suche. Ich bin mir nicht sicher, ob es eine Bibliothek gibt, mit der man wahlfreien Zugriff und Zeilenlesen kombinieren kann. – hippietrail