File System模块中的文件操作函数问题???
发布于 10 年前 作者 yiwei1223 3600 次浏览 最后一次编辑是 8 年前

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)
})

谢谢!!!!明白了!!!!

回到顶部