Метод futimes - временные метки модификации и доступа через файловый дескриптор на NodeJS
Метод futimes
изменяет временные метки модификации
и доступа через файловый дескриптор.
Временные метки могут быть указаны с использованием
числа, строки или объекта Date
.
Если метка времени не может быть преобразована в
правильное число или имеет значение NaN
,
Infinity
или -Infinity
будет выдана ошибка.
В первом параметре метода указывается нужный
нам файловый дескриптор. Во втором параметре задаем
новую отметку времени доступа, которую необходимо установить,
в третьем параметре - новую отметку времени модификации,
которую необходимо установить. В третьем необязательном
параметре задаем коллбэк.
Синтаксис
fs.futimes(файловый дескриптор, время доступа, время модификации, [коллбэк]);
Пример
Давайте асинхронно изменим временные метки модификации
и доступа файлового дескриптора
через коллбэк. Вначале узнаем статистику о файловом
дескрипторе через метод statSync
, затем с помощью
команд mtime
и atime
установим время модификации
и доступа файла. После этого введем новые значения для
времени доступа и времени модификации файла и в конце
применим метод futimes
:
import fs from 'fs';
let fileDescriptor = fs.openSync('file.txt', 'r+');
let stat1 = fs.statSync('file.txt');
console.log('modification time1:', stat1.mtime);
console.log('access time1:', stat1.atime);
let modeTime = new Date();
let accessTime = new Date();
fs.futimes(fileDescriptor, accessTime, modeTime, () => {
let stat2 = fs.statSync('file.txt');
console.log('modification time2:', stat2.mtime);
console.log('access time2:', stat2.atime);
});
Пример
А теперь давайте синхронно изменим
временные метки модификации и доступа файлового
дескриптора через futimesSync
:
import fs from 'fs';
let fileDescriptor = fs.openSync('file.txt', 'r+');
let stat1 = fs.statSync('file.txt');
console.log('modification time1:', stat1.mtime);
console.log('access time1:', stat1.atime);
let modeTime = new Date();
let accessTime = new Date();
try {
fs.futimesSync(fileDescriptor, accessTime, modeTime);
let stat2 = fs.statSync('file.txt');
console.log('modification time2:', stat2.mtime);
console.log('access time2:', stat2.atime);
} catch (err) {
console.log(err);
}
Смотрите также
-
метод
utimes
,
который изменяет временные метки модификации и доступа к файлу -
метод
unwatchFile
,
который прекращает наблюдения за изменениями в файле