ShadowNode

Use Node.js in your end devices(QQ: 796448809)

View the Project on GitHub yodaos-project/ShadowNode

Platform Support

The following shows fs module APIs available for each platform.

  Linux
(Ubuntu)
Raspbian
(Raspberry Pi)
NuttX
(STM32F4-Discovery)
TizenRT
(Artik053)
fs.close O O O O
fs.closeSync O O O O
fs.exists O O O O
fs.existsSync O O O O
fs.fstat O O X X
fs.fstatSync O O X X
fs.mkdir O O O O
fs.mkdirSync O O O O
fs.open O O O O
fs.openSync O O O O
fs.read O O O O
fs.readSync O O O O
fs.readdir O O O O
fs.readdirSync O O O O
fs.readFile O O O O
fs.readFileSync O O O O
fs.rename O O O O
fs.renameSync O O O O
fs.rmdir O O O O
fs.rmdirSync O O O O
fs.stat O O O O
fs.statSync O O O O
fs.unlink O O O O
fs.unlinkSync O O O O
fs.write O O O O
fs.writeSync O O O O
fs.writeFile O O O O
fs.writeFileSync O O O O

※ On NuttX path should be passed with a form of absolute path.

File System

Class: fs.Stats

fs.Stats class is an object returned from fs.stat(),fs.fstat() and their synchronous counterparts.

stats.isDirectory()

Returns true if stated file is a directory.

stats.isFile()

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);
});

fs.close(fd, callback)

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;
    }
  });
});

fs.closeSync(fd)

Closes the file of fd synchronously.

Example

var fs = require('fs');

var fd = fs.openSync('test.txt', 'r');
// do something
fs.closeSync(fd);

fs.exists(path, callback)

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);
});

fs.existsSync(path)

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);

fs.fstat(fd, callback)

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);
  });
});

fs.fstatSync(fd)

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);
});

fs.mkdir(path[, mode], callback)

Creates the directory specified by path asynchronously.

Example

var fs = require('fs');

fs.mkdir('testdir', function(err) {
  if (err) {
    throw err;
  }
});

fs.mkdirSync(path[, mode])

Creates the directory specified by path synchronously.

Example

var fs = require('fs');

fs.mkdirSync('testdir');

fs.open(path, flags[, mode], callback)

Opens file asynchronously.

flags can be:

Example

var fs = require('fs');

fs.open('test.txt', 'r', 755, function(err, fd) {
  if (err) {
    throw err;
  }
  // do something
});

fs.openSync(path, flags[, mode])

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

fs.read(fd, buffer, offset, length, position, callback)

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;
    }
  });
});

fs.readSync(fd, buffer, offset, length, position)

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);

fs.readdir(path, callback)

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);
});

fs.readdirSync(path)

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);

fs.readFile(path, callback)

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);
});

fs.readFileSync(path)

Reads entire file synchronously.

Example

var fs = require('fs');

var data = fs.readFileSync('test.txt');

fs.rename(oldPath, newPath, callback)

Renames oldPath to newPath asynchronously.

Example

var fs = require('fs');

fs.rename('test.txt', 'test.txt.async', function(err) {
  if (err) {
    throw err;
  }
});

fs.renameSync(oldPath, newPath)

Renames oldPath to newPath synchronously.

Example

var fs = require('fs');

fs.renameSync('test.txt', 'test.txt.sync');

fs.rmdir(path, callback)

Removes the directory specified by path asynchronously.

Example

var fs = require('fs');

fs.rmdir('testdir', function() {
  // do something
});

fs.rmdirSync(path)

Removes the directory specified by path synchronously.

var fs = require('fs');

fs.rmdirSync('testdir');

fs.stat(path, callback)

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);
});

fs.statSync(path)

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);

fs.unlink(path, callback)

Removes the file specified by path asynchronously.

Example

var fs = require('fs');

fs.unlink('test.txt', function(err) {
  if (err) {
    throw err;
  }
});

fs.unlinkSync(path)

Removes the file specified by path synchronously.

Example

var fs = require('fs');

fs.unlinkSync('test.txt');

fs.write(fd, buffer, offset, length[, position], callback)

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);
  });
});

fs.writeSync(fd, buffer, offset, length[, position])

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);

fs.writeFile(path, data, callback)

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;
  }
});

fs.writeFileSync(path, data)

Writes entire data to the file specified by path synchronously.

Example

var fs = require('fs');

fs.writeFileSync('test.txt', 'IoT.js');