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
输出:
content of the file before operation : Content of example.txt file
CTime of the file before operation: Tue Jul 07 2020 09:21:11 GMT+0530 (India Standard Time)
content of the file after operation : Content of example.txt file
CTime of the file after operation :- Tue Jul 07 2020 09:53:15 GMT+0530 (India Standard Time)
示例 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
输出:
content of file before operation: This is a file containing a collection of books.
CTime of the file before operation: Tue Jul 07 2020 09:56:52 GMT+0530 (India Standard Time)
content of file after operation: This is a file containing a collection of books.
CTime of the file after operation: Tue Jul 07 2020 09:57:09 GMT+0530 (India Standard Time)
参考: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_filehandle_utimes_atime_mtime