Node.js fs.Dirent.isSymbolicLink() 方法
fs.Dirent.isSymbolicLink()方法是文件系统模块中fs.Dirent类的内置应用程序编程接口,用于检查特定 dirent 是否描述了 SymbolicLink。
句法:
const dirent.isSymbolicLink()
参数:此方法不接受任何参数。
返回值:如果特定对象描述了 SymbolicLink,则此方法返回 true,否则返回 false。
下面的程序说明了 Node.js 中fs.dirent.isSymbolicLink()方法的使用:
示例 1:
文件名:index.js
javascript
// Node.js program to demonstrate the
// dirent.isSymbolicLink() method
const fs = require('fs');
// Initiating async function
async function stop(path) {
// Creating and initiating dir's
// underlying resource handle
const dir = await fs.promises.opendir(path);
// Synchronously reading the dir's
// underlying resource handle
// using readSync() method
for(var i = 0; i <= 3; i ++ ) {
// Checking if the particular dirent
// is SymbolicLink or not by using
// isSymbolicLink() method
const value = (dir.readSync()).isSymbolicLink();
// Display the result
console.log(dir.readSync());
console.log(value);
}
}
// Catching error
stop('./').catch(console.error);
javascript
// Node.js program to demonstrate the
// dirent.isSymbolicLink() method
const fs = require('fs');
// Initiating async function
async function stop(path) {
let dir = null;
try {
// Creating and initiating directory's
// underlying resource handle
dir = await fs.promises.opendir(
new URL('file:///F:/java/'));
// Synchronously reading the dir's
// underlying resource handle
// using readSync() method
for(var i = 0; i <= 3; i ++ ) {
// Checking if the particular dirent
// is SymbolicLink or not by using
// isSymbolicLink() method
const value = (dir.readSync()).isSymbolicLink();
// Display the result
console.log(dir.readSync());
console.log(value);
}
} finally {
if (dir) {
// Display the result
console.log("dir is closed successfully");
// Synchronously closeSyncing the directory's
// underlying resource handle
const promise = dir.closeSync();
}
}
}
// Catching error
stop('./').catch(console.error);
使用以下命令运行index.js文件:
node index.js
输出:
Dirent { name: 'cert.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'certificate1.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'filename.txt', [Symbol(type)]: 1 }
false
Dirent { name: 'GFG.java', [Symbol(type)]: 1 }
false
示例 2:
文件名:index.js
javascript
// Node.js program to demonstrate the
// dirent.isSymbolicLink() method
const fs = require('fs');
// Initiating async function
async function stop(path) {
let dir = null;
try {
// Creating and initiating directory's
// underlying resource handle
dir = await fs.promises.opendir(
new URL('file:///F:/java/'));
// Synchronously reading the dir's
// underlying resource handle
// using readSync() method
for(var i = 0; i <= 3; i ++ ) {
// Checking if the particular dirent
// is SymbolicLink or not by using
// isSymbolicLink() method
const value = (dir.readSync()).isSymbolicLink();
// Display the result
console.log(dir.readSync());
console.log(value);
}
} finally {
if (dir) {
// Display the result
console.log("dir is closed successfully");
// Synchronously closeSyncing the directory's
// underlying resource handle
const promise = dir.closeSync();
}
}
}
// Catching error
stop('./').catch(console.error);
输出:
Dirent { name: 'cert.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'certificate1.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'features', [Symbol(type)]: 2 }
false
Dirent { name: 'GFG.class', [Symbol(type)]: 1 }
false
dir is closed successfully
参考: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_dirent_issymboliclink