n-readlines-next
v1.0.3
Published
Read file line by line without buffering the whole file in memory.
Downloads
600
Maintainers
Readme
node-readlines-next
Fork
node-readlines-next
is a fork of node-readlines
! A package developed by Yoan Arnaudov! Original Repo here
The author wasn't active for 2 years up to now!
I took the deliberate to Fork it! Merged one PR (One bring better performance) [check here]! And added typescript declarations!
Also if any PR are send! I'll make sure to treat them!
Original author description
Reading file line by line may seem like a trivial problem, but in node, there is no straightforward way to do it. There are a lot of libraries using Transform Streams to achieve it, but it seems like a overkill, so I've wrote simple version using only the filesystem
module of node. Note that this is synchronous library.
Install with
npm install n-readlines-next
Documentation
new readlines(filename, [options]);
new readlines(fd, [options]);
Arguments
filename
- String path to the file you want to read fromfd
- File descriptoroptions
- ObjectreadChunk
- Integer number of bytes to read at once. Default: 1024newLineCharacter
- String new line character, only works with one byte characters for now. Default:\n
which is0x0a
hex encoded
node-readlines
can handle files without newLineCharacter after the last line
readlines.next()
Returns buffer
with the line data without the newLineCharacter
or false
if end of file is reached.
readlines.reset()
Resets the pointer and starts from the beginning of the file. This works only if the end is not reached.
Example
var ReadLines = require('n-readlines');
var liner = new ReadLines('./textFile.txt');
var line;
var lineNumber = 0;
while (line = liner.next()) {
console.log('Line ' + lineNumber + ': ' + line.toString('ascii'));
lineNumber++;
}
console.log('end of line reached');
Typescript
For imports and types
import LineReader, { ReadLinesOptions } from 'n-readlines-next';
export class CsvReader {
private _lineReader: LineReader;
}