1. 文件夹
增加文件夹

var fs = require("fs"); console.log("创建目录 tmp"); fs.mkdir("tmp",function(err){ if (err) { return console.error(err); } console.log("目录创建成功。"); });

var fs = require("fs"); var path = require("path"); // 递归创建目录 异步方法 function mkdirs(dirname, callback) { fs.exists(dirname, function (exists) { if (exists) { callback(); } else { mkdirs(path.dirname(dirname), function () { var fn = callback console.log('callback',fn.toString()) fs.mkdir(dirname, callback); console.log('在' + path.dirname(dirname) + '目录创建好' + dirname +'目录'); }); } }); } mkdirs('./t77t/dashboard-1.10.1/src/app/frontend/deploy/validators',() => { console.log('done'); })
删除文件夹

var fs = require("fs"); console.log("准备删除目录 tmp"); fs.rmdir("tmp",function(err){ if (err) { return console.error(err); } console.log('clear'); fs.readdir("tmp",function(err, files){ if (err) { return console.error(err); } files.forEach( function (file){ console.log( file ); }); }); });
查看文件夹

var fs = require("fs"); console.log("查看 /tmp 目录"); fs.readdir("a",function(err, files){ if (err) { return console.error(err); } files.forEach( function (file){ console.log( file ); }); });
2.文件
增加文件

var fs = require("fs"); console.log("准备写入文件"); fs.writeFile('bb.js', '我是通 过fs.writeFile 写入文件的内容', function(err) { if (err) { return console.error(err); } console.log("数据写入成功!"); console.log("--------我是分割线-------------") console.log("读取写入的数据!"); fs.readFile('b.js', function (err, data) { if (err) { return console.error(err); } console.log("异步读取文件数据: " + data.toString()); }); });
删除文件

var fs = require("fs"); console.log("准备删除文件!"); fs.unlink('b.js', function(err) { if (err) { return console.error(err); } console.log("文件删除成功!"); });
修改文件

// 截取文件 var fs = require("fs"); var buf = new Buffer.alloc(1024); console.log("准备打开文件!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("文件打开成功!"); console.log("截取10字节内的文件内容,超出部分将被去除。"); // 截取文件 fs.ftruncate(fd, 10, function(err){ if (err){ console.log(err); } console.log("文件截取成功。"); console.log("读取相同的文件"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } // 关闭文件 fs.close(fd, function(err){ if (err){ console.log(err); } console.log("文件关闭成功!"); }); }); }); });
查看文件

var fs = require("fs"); fs.readFile('b.js', function (err, data) { if (err) { return console.error(err); } console.log("异步读取: " + data.toString()); });
文件其他操作
打开文件

var fs = require("fs"); console.log("准备打开文件!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("文件打开成功!"); });
关闭文件

var fs = require("fs"); var buf = new Buffer.alloc(1024); console.log("准备打开文件!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("文件打开成功!"); console.log("准备读取文件!"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } // 关闭文件 fs.close(fd, function(err){ if (err){ console.log(err); } console.log("文件关闭成功"); }); }); });
读取字节流

var fs = require("fs"); var buf = new Buffer.alloc(1024); console.log("准备打开已存在的文件!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("文件打开成功!"); console.log("准备读取文件:"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } console.log(bytes + " 字节被读取"); // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } }); });
3.其他
文件、文件夹之间区分

var fs = require('fs'); fs.stat('a', function (err, stats) { console.log(stats.isFile()); //true stats.isDirectory() })