本文介绍Node.js中fs模块提供的utimesSync方法,用于同步修改指定文件的路径、访问时间(atime)和修改时间(mtime)。该方法会阻塞线程,适用于需要确保时间戳更新完成的场景。
Node.js fs.utimesSync 同步修改文件时间戳详解
方法说明
这是 utimes() 函数的同步版本,用于直接修改文件的时间戳信息。
语法格式
代码示例如下
fs.utimesSync(path, atime, mtime)
使用该方法前,需先通过 var fs = require('fs') 引入 fs 模块。
参数说明
path:目标文件的路径。
mtime:文件的修改时间,包含日期和时间信息。当文件内容发生更改时,此时间会自动更新。
atime:文件的最后访问时间,包含日期和时间信息。每当应用程序或服务通过系统调用读取文件时,该时间会被更新。
使用示例
代码实现如下
var fs = require('fs');
fs.utimesSync('125.txt', atime, mtime);
源码分析
核心代码逻辑如下
fs.utimesSync = function(path, atime, mtime) {
nullCheck(path);
atime = toUnixTimestamp(atime);
mtime = toUnixTimestamp(mtime);
binding.utimes(pathModule._makeLong(path), atime, mtime);
};