FS 文件夹操作
创建文件夹
在当前目录下,创建一个mydir的文件夹
异步实现代码:
var fs = require("fs");
fs.mkdir("mydir",function(err){
console.log(err)
})
同步实现代码:
var fs = require("fs");
fs.mkdirSync("mydir");
删除文件夹
异步实现代码:
var fs = require("fs");
fs.rmdir("mydir",function(err){
console.log(err);
})
同步实现代码:
fs.rmdirSync("mydir");
文件夹重命名
把当前目录下mydir文件夹改为mydir2名,如果没有mydir文件夹,那么会抛出异常err。
同步实现代码
var fs = require("fs");
fs.rename("mydir","mydir2",function(err){
console.log(err);
})
异步实现代码:
var fs = require("fs");
fs.renameSync("mydir","mydir2")
查看文件夹内有哪些文件和文件夹。
查看当前目录下有哪些文件,异步实现代码:
var fs = require("fs");
fs.readdir(".",function(err,files){
console.log(files)
})
回调函数中,err表示异常信息,比如文件夹不存在,files并不是文件本身,而是一个数组,数组里储存当前目录下有哪些文件夹和文件的字符串名称。
同步实现代码:
var fs = require("fs");
var files = fs.readdirSync(".");
console.log(files);
查看文件夹、文件属性状态
var fs = require("fs");
fs.stat(".",function(err,stats){
console.log("stats.isFile() ->" + stats.isFile())
console.log("stats.isDirectory() -> " + stats.isDirectory())
console.log("stats.isBlockDevice() ->" + stats.isBlockDevice())
console.log("stats.isCharacterDevice()" + stats.isCharacterDevice())
console.log("stats.isSymbolicLink() -> "+stats.isSymbolicLink())
console.log("stats.isFIFO() ->" + stats.isFIFO())
console.log("stats.isSocket()-> " + stats.isSocket())
})
查看当前文件夹状态属性
异步实现代码1 :
回调函数的stats是一个fs.Stats对象,这个对象常用的方法是stats.isDirectory()和stats.isFile(),可以判断是文件还是文件夹。
异步实现代码2 :
var fs = require("fs");
fs.lstat(".",function(err,stats){
console.log("stats.isFile() ->" + stats.isFile())
console.log("stats.isDirectory() -> " + stats.isDirectory())
console.log("stats.isBlockDevice() ->" + stats.isBlockDevice())
console.log("stats.isCharacterDevice()" + stats.isCharacterDevice())
console.log("stats.isSymbolicLink() -> "+stats.isSymbolicLink())
console.log("stats.isFIFO() ->" + stats.isFIFO())
console.log("stats.isSocket()-> " + stats.isSocket())
})
var fs = require("fs");
var fd = fs.openSync(".","r");
fs.fstat(fd,function(err,stats){
console.log("stats.isFile() ->" + stats.isFile())
console.log("stats.isDirectory() -> " + stats.isDirectory())
console.log("stats.isBlockDevice() ->" + stats.isBlockDevice())
console.log("stats.isCharacterDevice()" + stats.isCharacterDevice())
console.log("stats.isSymbolicLink() -> "+stats.isSymbolicLink())
console.log("stats.isFIFO() ->" + stats.isFIFO())
console.log("stats.isSocket()-> " + stats.isSocket())
})
var fs = require("fs");
var stats = fs.statSync(".")
console.log("stats.isFile() ->" + stats.isFile())
console.log("stats.isDirectory() -> " + stats.isDirectory())
console.log("stats.isBlockDevice() ->" + stats.isBlockDevice())
console.log("stats.isCharacterDevice()" + stats.isCharacterDevice())
console.log("stats.isSymbolicLink() -> "+stats.isSymbolicLink())
console.log("stats.isFIFO() ->" + stats.isFIFO())
console.log("stats.isSocket()-> " + stats.isSocket())
var fs = require("fs");
var stats = fs.lstatSync(".")
console.log("stats.isFile() ->" + stats.isFile())
console.log("stats.isDirectory() -> " + stats.isDirectory())
console.log("stats.isBlockDevice() ->" + stats.isBlockDevice())
console.log("stats.isCharacterDevice()" + stats.isCharacterDevice())
console.log("stats.isSymbolicLink() -> "+stats.isSymbolicLink())
console.log("stats.isFIFO() ->" + stats.isFIFO())
console.log("stats.isSocket()-> " + stats.isSocket())
var fs = require("fs");
var fd = fs.openSync(".","r");
var stats = fs.fstatSync(fd)
console.log("stats.isFile() ->" + stats.isFile())
console.log("stats.isDirectory() -> " + stats.isDirectory())
console.log("stats.isBlockDevice() ->" + stats.isBlockDevice())
console.log("stats.isCharacterDevice()" + stats.isCharacterDevice())
console.log("stats.isSymbolicLink() -> "+stats.isSymbolicLink())
console.log("stats.isFIFO() ->" + stats.isFIFO())
console.log("stats.isSocket()-> " + stats.isSocket())
监听文件夹
var fs = require("fs");
fs.watch(".",function(eventname,filename){
console.log(eventname);
console.log(filename);
});
var fs = require("fs");
var watch = fs.watch(".");
watch.on("change",function(eventname,filename){
console.log(eventname);
console.log(filename);
})
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。