The following shows fs module APIs available for each platform.
Linux (Ubuntu) |
Raspbian (Raspberry Pi) |
NuttX (STM32F4-Discovery) |
|
---|---|---|---|
fs.close | O | O | O |
fs.closeSync | O | O | O |
fs.exists | O | O | O |
fs.existsSync | O | O | O |
fs.fstat | O | O | X |
fs.fstatSync | O | O | X |
fs.mkdir | O | O | O |
fs.mkdirSync | O | O | O |
fs.open | O | O | O |
fs.openSync | O | O | O |
fs.read | O | O | O |
fs.readSync | O | O | O |
fs.readdir | O | O | X |
fs.readdirSync | O | O | X |
fs.readFile | O | O | O |
fs.readFileSync | O | O | O |
fs.rename | O | O | O |
fs.renameSync | O | O | O |
fs.rmdir | O | O | O |
fs.rmdirSync | O | O | O |
fs.stat | O | O | O |
fs.statSync | O | O | O |
fs.unlink | O | O | O |
fs.unlinkSync | O | O | O |
fs.write | O | O | O |
fs.writeSync | O | O | O |
fs.writeFile | O | O | O |
fs.writeFileSync | O | O | O |
※ On NuttX path should be passed with a form of absolute path.
fs.Stats class is an object returned from fs.stat()
,fs.fstat()
and their synchronous counterparts.
- Returns: {boolean}
Returns true if stated file is a directory.
- Returns: {boolean}
Returns true if stated file is a file.
Example
var assert = require('assert');
var fs = require('fs');
fs.stat('test.txt', function(err, stat) {
if (err) {
throw err;
}
assert.equal(stat.isFile(), true);
assert.equal(stat.isDirectory(), false);
});
fd
{integer} File descriptor.callback
{Function}err
{Error|null}
Closes the file of fd
asynchronously.
Example
var fs = require('fs');
fs.open('test.txt', 'r', function(err, fd) {
if (err) {
throw err;
}
// do something
fs.close(fd, function(err) {
if (err) {
throw err;
}
});
});
fd
{integer} File descriptor.
Closes the file of fd
synchronously.
Example
var fs = require('fs');
var fd = fs.openSync('test.txt', 'r');
// do something
fs.closeSync(fd);
path
{string} File path to be checked.callback
{Function}exists
{boolean}
Checks the file specified by path
exists asynchronously.
Example
var assert = require('assert');
var fs = require('fs');
fs.exists('test.txt', function(exists) {
assert.equal(exists, true);
});
path
{string} File path to be checked.- Returns: {boolean} True if the file exists, otherwise false.
Checks the file specified by path
exists synchronously.
var assert = require('assert');
var fs = require('fs');
var result = fs.existsSync('test.txt');
assert.equal(result, true);
fd
{integer} File descriptor to be stated.callback
{Function}err
{Error|null}stat
{Object} An instance offs.Stats
.
Get information about a file what specified by fd
into stat
asynchronously.
Example
var assert = require('assert');
var fs = require('fs');
fs.open('test.txt', 'r', function(err, fd) {
if (err) {
throw err;
}
fs.fstat(fd, function(err, stat) {
if (err) {
throw err;
}
assert.equal(stat.isFile(), true);
assert.equal(stat.isDirectory(), false);
});
});
fd
{integer} - File descriptor to be stated.- Returns: {Object} An instance of
fs.Stats
.
Get information about a file what specified by fd
synchronously.
Example
var assert = require('assert');
var fs = require('fs');
fs.open('test.txt', 'r', function(err, fd) {
if (err) {
throw err;
}
var stat = fs.fstatSync(fd);
assert.equal(stat.isFile(), true);
assert.equal(stat.isDirectory(), false);
});
path
{string} Path of the directory to be created.mode
{string|number} Permission mode. Default:0777
callback
{Function}err
{Error|null}
Creates the directory specified by path
asynchronously.
Example
var fs = require('fs');
fs.mkdir('testdir', function(err) {
if (err) {
throw err;
}
});
path
{string} Path of the directory to be created.mode
{string|number} Permission mode. Default:0777
Creates the directory specified by path
synchronously.
Example
var fs = require('fs');
fs.mkdirSync('testdir');
path
{string} File path to be opened.flags
{string} Open flags.mode
{string|number} Permission mode. Default:0666
callback
{Function}err
{Error|null}fd
{number}
Opens file asynchronously.
flags
can be:
r
Opens file for reading. Throws an exception if the file does not exist.rs
orsr
Opens file for reading in synchronous mode. Throws an exception if the file does not exist.r+
Opens file for reading and writing. Throws an exception if the file does not exist.rs+
orsr+
Opens file for reading and writing in synchronous mode. Throws an exception if the file does not exist.w
Opens file for writing. The file is overwritten if it exists.wx
orxw
Opens file for writing. Throws an exception if it exists.w+
Opens file for reading and writing. The file is overwritten if it exists.wx+
orxw+
Opens file for reading and writing. Throws an exception if it exists.a
Opens file for appending. The file is created if it does not exist.ax
orxa
Opens file for appending. Throws an exception if it exists.a+
Opens file for reading and appending. The file is created if it does not exist.ax+
orxa+
Opens file for reading and appending. Throws an exception if it exists.
Example
var fs = require('fs');
fs.open('test.txt', 'r', 755, function(err, fd) {
if (err) {
throw err;
}
// do something
});
path
{string} File path to be opened.flags
{string} Open flags.mode
{string|number} Permission mode. Default:0666
- Returns: {number} File descriptor.
Opens file synchronously.
For available options of the flags
see fs.open().
Example
var fs = require('fs');
var fd = fs.openSync('test.txt', 'r', 755);
// do something
fd
{integer} File descriptor.buffer
{Buffer} Buffer that the data will be written to.offset
{number} Offset of the buffer where to start writing.length
{number} Number of bytes to read.position
{number} Specifying where to start read data from the file, ifnull
orundefined
, read from current position.callback
{Function}err
{Error|null}bytesRead
{number}buffer
{Buffer}
Reads data from the file specified by fd
asynchronously.
Example
var fs = require('fs');
fs.open('test.txt', 'r', 755, function(err, fd) {
if (err) {
throw err;
}
var buffer = new Buffer(64);
fs.read(fd, buffer, 0, buffer.length, 0, function(err, bytesRead, buffer) {
if (err) {
throw err;
}
});
});
fd
{integer} File descriptor.buffer
{Buffer} Buffer that the data will be written to.offset
{number} Offset of the buffer where to start writing.length
{number} Number of bytes to read.position
{number} Specifying where to start read data from the file, ifnull
orundefined
, read from current position.- Returns: {number} Number of read bytes.
Reads data from the file specified by fd
synchronously.
Example
var fs = require('fs');
var buffer = new Buffer(16);
var fd = fs.openSync('test.txt', 'r');
var bytesRead = fs.readSync(fd, buffer, 0, buffer.length, 0);
path
{string} Directory path to be checked.callback
{Function}err
{Error|null}files
{Object}
Reads the contents of the directory specified by path
asynchronously, .
and ..
are excluded from files
.
Example
var fs = require('fs');
fs.readdir('testdir', function(err, items) {
if (err) {
throw err;
}
// prints: file1,file2,... from 'testdir'
console.log(items);
});
path
{string} Directory path to be checked.- Returns: {Object} Array of filenames.
Reads the contents of the directory specified by path
synchronously, .
and ..
are excluded from filenames.
Example
var fs = require('fs');
var items = fs.readdirSync('testdir');
// prints: file1,file2,... from 'testdir'
console.log(items);
path
{string} File path to be opened.callback
{Function}err
{Error|null}data
{Buffer}
Reads entire file asynchronously into data
.
Example
var fs = require('fs');
fs.readFile('test.txt', function(err, data) {
if (err) {
throw err;
}
// prints: the content of 'test.txt'
console.log(data);
});
path
{string} File path to be opened.- Returns: {Object} Contents of the file.
Reads entire file synchronously.
Example
var fs = require('fs');
var data = fs.readFileSync('test.txt');
oldPath
{string} Old file path.newPath
{string} New file path.callback
{Function}err
{Error|null}
Renames oldPath
to newPath
asynchronously.
Example
var fs = require('fs');
fs.rename('test.txt', 'test.txt.async', function(err) {
if (err) {
throw err;
}
});
oldPath
{string} Old file path.newPath
{string} New file path.
Renames oldPath
to newPath
synchronously.
Example
var fs = require('fs');
fs.renameSync('test.txt', 'test.txt.sync');
path
{string} Directory path to be removed.callback
{Function}err
{Error|null}
Removes the directory specified by path
asynchronously.
Example
var fs = require('fs');
fs.rmdir('testdir', function() {
// do something
});
path
{string} Directory path to be removed.
Removes the directory specified by path
synchronously.
var fs = require('fs');
fs.rmdirSync('testdir');
path
{string} File path to be stated.callback
{Function}err
{Error|null}stat
{Object}
Get information about a file into stat
asynchronously.
Example
var assert = require('assert');
var fs = require('fs');
fs.stat('test.txt', function(err, stat) {
if (err) {
throw err;
}
assert.equal(stat.isFile(), true);
assert.equal(stat.isDirectory(), false);
});
path
{string} File path to be stated.- Returns: {Object} An instance of
fs.Stats
.
Get information about a file synchronously.
Example
var assert = require('assert');
var fs = require('fs');
var stat = fs.statSync('test.txt');
assert.equal(stat.isFile(), true);
assert.equal(stat.isDirectory(), false);
path
{string} File path to be removed.callback
{Function}err
{Error|null}
Removes the file specified by path
asynchronously.
Example
var fs = require('fs');
fs.unlink('test.txt', function(err) {
if (err) {
throw err;
}
});
path
{string} File path to be removed.
Removes the file specified by path
synchronously.
Example
var fs = require('fs');
fs.unlinkSync('test.txt');
fd
{integer} File descriptor.buffer
{Buffer} Buffer that the data will be written from.offset
{number} Offset of the buffer where from start reading.length
{number} Number of bytes to write.position
{number} Specifying where to start write data to the file, ifnull
orundefined
, write at the current position.callback
{Function}err
{Error|null}bytesWrite
{integer}buffer
{Object}
Writes buffer
to the file specified by fd
asynchronously.
Example
var fs = require('fs');
var file = 'test.txt'
var data = new Buffer('IoT.js');
fs.open(file, 'w', function(err, fd) {
if (err) {
throw err;
}
fs.write(fd, data, 0, data.length, function(err, bytesWrite, buffer) {
if (err) {
throw err;
}
// prints: 6
console.log(bytesWrite);
// prints: IoT.js
console.log(buffer);
});
});
fd
{integer} File descriptor.buffer
{Buffer} Buffer that the data will be written from.offset
{number} Offset of the buffer where from start reading.length
{number} Number of bytes to write.position
{number} Specifying where to start write data to the file, ifnull
orundefined
, write at the current position.- Returns: {number} Number of bytes written.
Writes buffer to the file specified by fd
synchronously.
var fs = require('fs');
var file = 'test.txt'
var data = new Buffer('IoT.js');
var fd = fs.openSync(file, 'w');
var bytes = fs.writeSync(fd, data, 0, data.length);
//prints: 6
console.log(bytes);
path
{string} File path that thedata
will be written.data
{string|Buffer} String or buffer that contains data.callback
{Function}err
{Error|null}
Writes entire data
to the file specified by path
asynchronously.
Example
var fs = require('fs');
fs.writeFile('test.txt', 'IoT.js', function(err) {
if (err) {
throw err;
}
});
path
{string} File path that thedata
will be written.data
{string|Buffer} String or buffer that contains data.
Writes entire data
to the file specified by path
synchronously.
Example
var fs = require('fs');
fs.writeFileSync('test.txt', 'IoT.js');