參考資料
阮一峰: FS模塊
檢測(cè)文件是否存在
// 檢測(cè)文件是否存在
fs.exists('readme.md', function(exists) {
console.log(exists);
})
異步操作
// 新建目錄
fs.mkdir('file', 0777, function(err) {
if (err) throw err;
console.log('新建文件夾成功');
});
// 寫入文件
fs.writeFile('./file/1.md', '隨便寫入一句話吧', function(err) {
if (err) throw err;
console.log('文件寫入成功')
});
// 讀取文件
fs.readFile('./file/1.md', 'utf8', function(err, data) {
if (err) throw err;
console.log(data);
});
同步操作
// 新建目錄
fs.mkdirSync('file', 0777);
console.log('新建file文件夾成功');
// 寫入文件
fs.writeFileSync('file/1.md', '隨便寫入一句話吧', 'utf8');
console.log('新建文件成功');
// 讀取文件
var data = fs.readFileSync('file/1.md', 'utf8');
console.log('讀取文件:' + data);
讀取目錄
fs.readdir('file', function(err, files) {
if (err) throw err;
var length = files.length;
console.log('一共有' + length + '個(gè)文件');
});
判斷是文件還是目錄
fs.stat('./fs.js', function(err, stat) {
if (stat.isFile())
console.log('這是個(gè)文件');
else if (stat.isDirectory())
console.log('這是個(gè)目錄');
});
監(jiān)聽文件
// 監(jiān)聽文件
fs.watchFile('readme.md', function(curr, prev) {
console.log('the current mtime is: ' + curr.mtime);
console.log('the previous mtime was: ' + prev.mtime);
});
// 解除監(jiān)聽
setTimeout(function() {
fs.unwatchFile('readme.md');
}, 1000);
讀寫數(shù)據(jù)流
// 讀取數(shù)據(jù)流
var file = fs.createReadStream('readme.md');
var str = '';
file.on('data', function(data) {
str += data;
});
file.on('end', function() {
console.log(str);
});
// 寫入數(shù)據(jù)流
var file = fs.createWriteStream('readme.md', {encoding: 'utf8'});
file.write('寫入一句\n');
file.write('再寫入一句\n');
file.write('最后再來一局');
file.end();