Метод 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,
    который прекращает наблюдения за изменениями в файле



Чат с GPT Компилятор