Node 中 使用 fs.stat() 读取文件状态
fs.stat (path)
执行后,会将 stats
类的实例返回给其回调函数。可以通过 stats
类中的提供方法判断文件的相关属性。
读取文件的状态:
fs.stat(path,callback); //callback有两个参数;err,stats;stats是一个fs.Stats对象;如果发生错误err.code是常见错误之一;
1
注意
不建议在调用 fs.open()
、fs.readFile()
或 fs.writeFile()
之前使用 fs.stat()
检查一个文件是否存在。 作为替代,用户代码应该直接打开/读取/写入文件,当文件无效时再处理错误。如果要检查一个文件是否存在且不操作它,推荐使用 fs.access()
。
方法 | 描述 |
---|---|
stats.isFile() | 如果是文件返回 true ,否则返回 false 。 |
stats.isDirectory() | 如果是目录返回 true,否则返回 false 。 |
stats.isBlockDevice( | 如果是块设备返回 true ,否则返回 false 。 |
stats.isCharacterDevice() | 如果是字符设备返回 true ,否则返回 false 。 |
stats.isSymbolicLink() | 如果是软链接返回 true ,否则返回 false 。 |
stats.isFIFO() | 如果是FIFO ,返回true ,否则返回 false 。FIFO 是UNIX 中的一种特殊类型的命令管道。 |
stats.isSocket() | 如果是 Socket 返回 true ,否则返回 false 。 |
示例:
var fs = require("fs");
fs.stat("./wenjian.txt",function(err,stats){
console.log(err);
console.log(stats);
// 获取文件的大小;
console.log(stats.size);
// 获取文件最后一次访问的时间;
console.log(stats.atime.toLocaleString());
// 文件创建的时间;
console.log(stats.birthtime.toLocaleString());
// 文件最后一次修改时间;
console.log(stats.mtime.toLocaleString());
// 状态发生变化的时间;
console.log(stats.ctime.toLocaleString())
//判断是否是目录;是返回true;不是返回false;
console.log(stats.isFile())
// 判断是否是文件;是返回true、不是返回false;
console.log(stats.isDirectory())
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
上次更新: 2024/01/30, 00:35:17
- 02
- Node与GLIBC_2.27不兼容解决方案08-19
- 03
- Git清空本地文件跟踪缓存08-13