File System模块中的文件操作函数问题???
File System模块中有三个类似的函数,分别是: fs.stat(path, calllback) fs.lstat(path, callback) fs.fstat(fd) 自己看了api文档,可由于自己蹩脚英语还是不太清除三个函数最本质的区别!!! 谁可以详细的解释一下吗???
3 回复
是因为linux c库有三个函数,所以nodejs也有三个。这充分说明nodejs够底层。
.stat
和 .lstat
的返回类型是一样的,两者的区别是,如果你传入的 path 是个软链接,后者只返回这个链接本身的信息,而前者会沿着这个链接找到它所指的文件,返回那个文件的状态。
.fstat
和 .stat
的区别是传入的参数,.fstat
要求传入一个文件描述, .fstat(fs.openSync(path), fn)
或者:
fs.open(path, function(err, fd) {
fs.fstat(fd, fn)
})
谢谢!!!!明白了!!!!