Mi manca qualcosa o il modulo I/O del file standard di node.js non ha analoghi ai soliti metodi di accesso casuale ai file?Come posso eseguire letture ad accesso casuale da file (grandi) utilizzando node.js?
seek()
/fseek()
tell()
/ftell()
Come si fa a leggere i record di dimensione fissa casuali da file di grandi dimensioni in nodo senza questi?
Le volte che uso 'tell' sono soprattutto quando sto leggendo il testo in codice indipendente dalla piattaforma riga per riga che potrebbe avere linee che finiscono in' \ n', '\ r' (non più comune) o' \ r \ n '. È certamente ancora possibile tracciare la posizione senza 'tell' però. – hippietrail
Per il beneficio di chiunque altro possa leggere questo thread, ho perso il parametro 'position' perché nella mia lettura dei documenti sono riuscito a confilarlo con il parametro' offset', che è l'offset dall'inizio del buffer voglio leggere i dati in. – hippietrail
Funziona perfettamente per la lettura di record da file binari, ma ho anche bisogno di leggere righe di testo dagli offset di file passati. Risulta molto difficile leggere una singola riga di testo usando 'fs.read' a causa della natura di' Buffer' e della necessità di convertire tali testi in testo codificato come UTF-8. I modi ovvi risultano in caratteri non funzionanti poiché UTF-8 include caratteri multibyte. 'ReadableStream' gestisce i caratteri multibyte, ma non consente di cercare liberamente. Non sono sicuro che ci sia una libreria che ti permetta di combinare l'accesso casuale e la lettura della linea. – hippietrail