📜  Node.js fs.Dir.closeSync() 方法

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

Node.js fs.Dir.closeSync() 方法

fs.Dir.closeSync()方法是文件系统模块中fs.Dir类的内置应用程序编程接口,用于同步关闭目录的底层资源句柄。

句法:

const dir.closeSync()

参数:此方法不接受任何参数。
返回值:此方法返回一个未定义的对象

下面的程序说明了fs.Dir.closeSync()方法的使用。

示例 1:

文件名:index.js

Javascript
// Node.js program to demonstrate the
// dir.closeSync() method
const fs = require('fs');
  
// Initiating async function
async function stop(path) {
  
  // Creating and initiating directory's
  // underlying resource handle
  const dir = await fs.promises.opendir(path);
 
  console.log("All the dirent before operation :- ");
  for (var i = 0; i <= 6; i++) {
     console.log(((dir.readSync())).name);
  }
    
  // Synchronously closeSyncing the directory's
  // underlying resource handle
  const promise = dir.closeSync();
 
  // Display the result
  console.log("dir is closed successfully");
}
  
// Catching error
stop('./').catch(console.error);


Javascript
// Node.js program to demonstrate the
// dir.closeSync() method
const fs = require('fs');
const fsPromises = fs.promises;
 
// Name of the directory to be created
let directo = './temp';
 
// Checking if the directory is present or not
if (!fs.existsSync(directo)){
  fs.mkdirSync(directo);
}
    
// Initiating asynchronous function
async function funct(path) {
      
  // Initializing dir
  let dir = null;
  let pathval = null;
    
  try {
     
   // Creating and initiating directory's
   // underlying resource handle
   dir = await fs.promises.opendir(
      new URL('file:///F:/java/temp'));
 
   console.log("All the dirent before operation :- "
                 + ((dir.readSync())));
    
   // Getting the path of the directory
   // by using path() method
   pathval = dir.path;
    
  } finally {
    
    if (dir) {
  
      // Close the file if it is opened.
      console.log("Path :- " + pathval);
 
      console.log("All the dirent before operation :- "
                          + ((dir.readSync())));
 
      console.log("dir is closed successfully");
  
      await dir.closeSync();  
    }
  }
}
    
funct('./').catch(console.error);


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

node index.js

输出:

All the dirent before operation :-
abcd.cer
books.txt
cert.cer
certfile.cer
certificate1.cer
example.txt
features
dir is closed successfully

示例 2:

文件名:index.js

Javascript

// Node.js program to demonstrate the
// dir.closeSync() method
const fs = require('fs');
const fsPromises = fs.promises;
 
// Name of the directory to be created
let directo = './temp';
 
// Checking if the directory is present or not
if (!fs.existsSync(directo)){
  fs.mkdirSync(directo);
}
    
// Initiating asynchronous function
async function funct(path) {
      
  // Initializing dir
  let dir = null;
  let pathval = null;
    
  try {
     
   // Creating and initiating directory's
   // underlying resource handle
   dir = await fs.promises.opendir(
      new URL('file:///F:/java/temp'));
 
   console.log("All the dirent before operation :- "
                 + ((dir.readSync())));
    
   // Getting the path of the directory
   // by using path() method
   pathval = dir.path;
    
  } finally {
    
    if (dir) {
  
      // Close the file if it is opened.
      console.log("Path :- " + pathval);
 
      console.log("All the dirent before operation :- "
                          + ((dir.readSync())));
 
      console.log("dir is closed successfully");
  
      await dir.closeSync();  
    }
  }
}
    
funct('./').catch(console.error);

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

node index.js

输出:

All the dirent before operation :- [object Object]
Path :- F:
All the dirent before operation :- [object Object]
dir is closed successfully

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