
上QQ阅读APP看书,第一时间看更新
3.8 获取文件信息
获取文件信息的方法有4个,分别是fs.stat()、fs.statSync()、fs.fstat()、fs.fstatSync()。其中,fs.stat()与fs.statSync()两个方法可以直接使用文件路径进行操作,而fs.fstat()与fs.fstatSync()两个方法需要使用文件描述符进行操作。
下面介绍一个通过fs.statSync()方法以同步方式获取文件信息的代码实例。
【代码3-10】(详见源代码目录ch03-node-fs-stat-sync.js.js文件)

【代码分析】
• 本例程为了测试获取文件信息的操作,在代码文件目录下新建一个“txtStat”子目录,然后在该子目录下创建一个名称为“statSync.txt”的文本文件。
• 第12行调用fs.statSync()方法以同步方式实现获取文件信息的操作,该方法返回一个fs模块的Stats对象(保存在变量statSync中),用来保存文件信息。
下面是Node.js官方文档中关于Stats对象的举例说明:

上面各项数据均是对文件信息的详细描述,譬如dev表示设备号、size表示文件大小、birthtime表示创建时间等,更详细的说明读者可以参考官方文档,在此就不一一详细解释了。
在控制台中运行该Node程序,具体的输出内容如图3.10所示。

图3.10 获取文件信息