📜  Node.js fs.filehandle.utimes() 方法

📅  最后修改于: 2022-05-13 01:56:48.617000             🧑  作者: Mango

Node.js fs.filehandle.utimes() 方法

fs.filehandle.utimes()方法是文件系统模块中fs.filehandle类的内置应用程序编程接口,用于更改该文件系统的时间戳。

句法:

const filehandle.utimes(atime, mtime)

参数:此方法接受上面提到的两个参数,如下所述:

  • atime:访问时间戳是最后一次读取文件的时间。
  • mtime:修改的时间戳表示上次修改文件内容的时间。

返回值:此方法返回一个未决的承诺,其中不包含任何值。

下面的程序说明了 Node.js 中fs.filehandle.utimes()方法的使用:

示例 1:文件名:index.js

Javascript
// Node.js program to demonstrate the
// filehandle.utimes() method
const fs = require('fs');
const fsPromises = fs.promises;
 
console.log("content of the file before operation :- "
        + fs.readFileSync('example.txt', 'utf8'));
 
// File cTime before operation
fs.stat('example.txt', (err, stats) => {
    if (err) throw err;
 
    console.log("CTime of the file before operation: "
                    + stats.ctime);
});
 
// Initiating asyncrionise function
async function funct() {
 
    // Initializing following variables
    let filehandle = null;
    let prom = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
            fsPromises.open('example.txt', 'r+');
 
        // Changing the timestamp of the file
        // by using utimes() method
        prom = filehandle.utimes(0, 10);
 
    } finally {
 
        if (filehandle) {
 
            // File cTime after operation
            (filehandle.stat(true))
                        .then(function (result) {
                console.log("CTime of the file "
                        + "after operation :- "
                        + result.ctime);
            })
 
            console.log("content of the file "
                    + "after operation : " +
                fs.readFileSync('example.txt', 'utf8'));
 
            // Close the file if it is opened.
            await filehandle.close();
        }
    }
}
 
funct().catch(console.error);


Javascript
// Node.js program to demonstrate the
// filehandle.utimes() method
const fs = require('fs');
const fsPromises = fs.promises;
 
// Data for the new file
let data = "This is a file containing"
        + " a collection of books.";
 
// Name of the file to be created
let file = "books.txt";
 
// Creating the new file 'books.txt'
fs.writeFile(file, data, (err) => {
 
    // Catching error
    if (err) {
        console.log(err);
    }
});
 
// Using fs.exists() method
fs.exists(file, (exists) => {
    if (exists) {
        console.log(
            "content of file before operation: "
            + (fs.readFileSync(file)));
    }
});
 
// File cTime before operation
fs.stat(file, (err, stats) => {
    if (err) throw err;
 
    console.log(
        "CTime of the file before operation: "
        + stats.ctime);
});
 
// Initiating asyncrionise function
async function funct() {
 
    // Initializing filehandle
    let filehandle = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
            fsPromises.open(file, 'r+');
 
        // Changing the timestamp of the file
        // by using utimes() method
        prom = filehandle.utimes(0, 20);
 
    } finally {
 
        if (filehandle) {
 
            // Close the file if it is opened.
            // file cTime after operation
            (filehandle.stat(true))
                    .then(function (result) {
                console.log("CTime of the file "
                        + "after operation :- "
                        + result.ctime);
            })
 
            console.log("content of file after"
                + " operation: " +
                (fs.readFileSync(file)));
 
            await filehandle.close();
        }
    }
}
 
funct().catch(console.error);


运行程序前的目录结构:

运行程序后的目录结构:

使用以下命令运行index.js文件:

node index.js

输出:

示例 2:文件名:index.js

Javascript

// Node.js program to demonstrate the
// filehandle.utimes() method
const fs = require('fs');
const fsPromises = fs.promises;
 
// Data for the new file
let data = "This is a file containing"
        + " a collection of books.";
 
// Name of the file to be created
let file = "books.txt";
 
// Creating the new file 'books.txt'
fs.writeFile(file, data, (err) => {
 
    // Catching error
    if (err) {
        console.log(err);
    }
});
 
// Using fs.exists() method
fs.exists(file, (exists) => {
    if (exists) {
        console.log(
            "content of file before operation: "
            + (fs.readFileSync(file)));
    }
});
 
// File cTime before operation
fs.stat(file, (err, stats) => {
    if (err) throw err;
 
    console.log(
        "CTime of the file before operation: "
        + stats.ctime);
});
 
// Initiating asyncrionise function
async function funct() {
 
    // Initializing filehandle
    let filehandle = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
            fsPromises.open(file, 'r+');
 
        // Changing the timestamp of the file
        // by using utimes() method
        prom = filehandle.utimes(0, 20);
 
    } finally {
 
        if (filehandle) {
 
            // Close the file if it is opened.
            // file cTime after operation
            (filehandle.stat(true))
                    .then(function (result) {
                console.log("CTime of the file "
                        + "after operation :- "
                        + result.ctime);
            })
 
            console.log("content of file after"
                + " operation: " +
                (fs.readFileSync(file)));
 
            await filehandle.close();
        }
    }
}
 
funct().catch(console.error);

运行程序前的目录结构:

运行程序后的目录结构:

使用以下命令运行index.js文件:

node index.js

输出:

参考: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_filehandle_utimes_atime_mtime