Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Binary and event-based data buffered readers.
JavaScript
tree: c205b7f69f

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
build
examples
src
test
.gitignore
LICENSE
README.md

README.md

Node BufferedReader

Binary and streamed data buffers readers for node.js

Show me! | Availability | Compatibility | Documentation

Version: 1.0.0

When you need to read a file you typically read a chunk of bytes called "buffer" to avoid multiple calls to the underlying I/O layer, so instead of reading directly from the disk, you read from the previous filled buffer. Doing this you win performance.

This library allows you to read files without worry about the buffers. There are two ways to read the files. The first can only read binary data and has a pointer to move along the file (seek, skip, read). The second performs a read from the beginning to the end of the file and produces different events (byte, character, line, buffer...).

Show me!

var reader = require ("../build/buffered-reader");
var BinaryReader = reader.BinaryReader;
var DataReader = reader.DataReader;

var close = function (binaryReader, error){
    if (error) console.log (error);

    binaryReader.close (function (error){
        if (error) console.log (error);
    });
};

var file = "file";
var offset;

new DataReader (file, { encoding: "utf8" })
        .on ("error", function (error){
            console.log (error);
        })
        .on ("line", function (line, byteOffset){
            if (line === "Phasellus ultrices ligula sed odio ultricies egestas."){
                offset = byteOffset;
                this.interrupt ();
            }
        })
        .on ("end", function (){
            new BinaryReader (file)
                    .seek (offset, function (error){
                        if (error) return close (this, error);

                        this.read (9, function (error, bytes, bytesRead){
                            if (error) return close (this, error);

                            console.log (bytes.toString ()); //Prints: Curabitur

                            close (this);
                        });
                    });
        })
        .read ();

file:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Morbi convallis nibh massa, eu varius felis.

Phasellus ultrices ligula sed odio ultricies egestas.
Curabitur pretium magna in diam accumsan dignissim.
Phasellus et tortor eu orci suscipit vehicula.
Phasellus pulvinar mauris in purus consequat vel congue orci hendrerit.
Pellentesque eget arcu magna, suscipit imperdiet eros.

Availability

Via npm:

npm install buffered-reader

Compatibility

✔ Node *


Documentation

Reference
Examples
Change Log
MIT License

Something went wrong with that request. Please try again.