Reading from a file
In our discussion of file descriptors, we touched on one method of opening a file, fetching a file descriptor, and ultimately pushing or pulling data through that reference. Reading files is a common operation. Sometimes, managing a read buffer precisely may be necessary, and Node allows byte-by-byte control. In other cases, one simply wants a no-frills stream that is simple to use.
Reading byte by byte
The fs.read method is the most low-level way Node offers for reading files.
fs.read(fd, buffer, offset, length, position, callback)
Files are composed of ordered bytes, and these bytes are addressable by their position, relative to the beginning of in the file (position zero [0]). Once we have
a file descriptor fd, we can begin to read length number of bytes and insert those into a Buffer object buffer, insertion beginning at a given buffer offset. For example, to copy the 8,366 bytes beginning at position 309 of the readable file fd into
a buffer beginning at an offset of...