
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
random-access-file
Advanced tools
Continuous reading or writing to a file using random offsets and lengths
Continuous reading or writing to a file using random offsets and lengths
npm install random-access-file
If you are receiving a file in multiple pieces in a distributed system it can be useful to write these pieces to disk one by one in various places throughout the file without having to open and close a file descriptor all the time.
random-access-file allows you to do just this.
const RandomAccessFile = require('random-access-file')
const file = new RandomAccessFile('my-file.txt')
file.write(10, Buffer.from('hello'), function(err) {
// write a buffer to offset 10
file.read(10, 5, function(err, buffer) {
console.log(buffer) // read 5 bytes from offset 10
file.close(function() {
console.log('file is closed')
})
})
})
file will use an open file descriptor. When you are done with the file you should call file.close().
const file = new RandomAccessFile(filename, [options])Create a new file. Options include:
{
truncate: false, // truncate the file before reading / writing
size: someSize, // truncate the file to this size first
readable: true, // should the file be opened as readable?
writable: true, // should the file be opened as writable?
lock: false, // lock the file
sparse: false // mark the file as sparse
}
file.write(offset, buffer, [callback])Write a buffer at a specific offset.
file.read(offset, length, callback)Read a buffer at a specific offset. Callback is called with the buffer read.
file.del(offset, length, callback)Delete a portion of the file. Any partial file blocks in the deleted portion are zeroed and, if the file is sparse, the remaining file blocks unlinked in-place.
file.truncate(offset, callback)Truncate the file length to this offset.
file.stat(callback)Stat the storage. Should return an object with useful information about the underlying storage, including:
{
size: number // how many bytes of data is stored?
}
file.close([callback])Close the underlying file descriptor.
file.unlink([callback])Unlink the underlying file.
file.on('open')Emitted when the file descriptor has been opened. You can access the fd using file.fd.
You do not need to wait for this event before doing any reads/writes.
file.on('close')Emitted when the file has been closed.
MIT
FAQs
Continuous reading or writing to a file using random offsets and lengths
The npm package random-access-file receives a total of 16,429 weekly downloads. As such, random-access-file popularity was classified as popular.
We found that random-access-file demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.