fs.write(fd, buffer, offset, length[, position], callback) fs.write(fd, data[, position[, encoding]], callback) fs.writeSync(fd, buffer, offset, length[, position]) fs.writeSync(fd, data[, position[, encoding]])
fd:写入的文件句柄。
buffer:写入的内容。
offset:将buffer从offset位置开始,长度为length的内容写入。
length:写入的buffer内容的长度。
position:从打开文件的position处写入。
callback:参数为 (err, written, buffer)。written表示有xx字节的buffer被写入。
备注:fs.write(fd, buffer, offset, length[, position], callback)跟fs.write(fd, data[, position[, encoding]], callback)的区别在于:后面的只能把所有的data写入,而前面的可以写入指定的data子串?
文件是否存在
fs.exists()已经是deprecated状态,现在可以通过下面代码判断文件是否存在。
var fs = require('fs');
fs.access('./fileForRead.txt', function(err){
if(err) throw err;
console.log('fileForRead.txt存在');
});
fs.access('./fileForRead2.txt', function(err){
if(err) throw err;
console.log('fileForRead2.txt存在');
});fs.access()除了判断文件是否存在(默认模式),还可以用来判断文件的权限。
备忘:fs.constants.F_OK等常量无法获取(node v6.1,mac 10.11.4下,fs.constants是undefined)
创建目录
异步版本(如果目录已存在,会报错)
var fs = require('fs');
fs.mkdir('./hello', function(err){
if(err) throw err;
console.log('目录创建成功');
});同步版本
var fs = require('fs');
fs.mkdirSync('./hello');删除文件
var fs = require('fs');
fs.unlink('./fileForUnlink.txt', function(err){
if(err) throw err;
console.log('文件删除成功');
});
var fs = require('fs');
fs.unlinkSync('./fileForUnlink.txt');创建目录
// fs.mkdir(path[, mode], callback)
var fs = require('fs');
fs.mkdir('sub', function(err){
if(err) throw err;
console.log('创建目录成功');
});
// fs.mkdirSync(path[, mode])
var fs = require('fs');
try{
fs.mkdirSync('hello');
console.log('创建目录成功');
}catch(e){
throw e;
}遍历目录
同步版本,注意:fs.readdirSync()只会读一层,所以需要判断文件类型是否目录,如果是,则进行递归遍历。
// fs.readdirSync(path[, options])
var fs = require('fs');









