Método Node.js fs.rename()

El método fs.rename() se utiliza para renombrar de forma asíncrona un archivo en la ruta anterior dada a una ruta nueva dada. Sobrescribirá el archivo de destino si ya existe.

Sintaxis:

fs.rename( oldPath, newPath, callback )

Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:

  • oldPath: contiene la ruta del archivo que se debe renombrar. Puede ser una string, un búfer o una URL.
  • newPath: contiene la nueva ruta a la que se debe renombrar el archivo. Puede ser una string, un búfer o una URL.
  • callback: Es la función que sería llamada cuando se ejecuta el método. Tiene un argumento opcional para mostrar cualquier error que ocurra durante el proceso.

Los siguientes ejemplos ilustran el método fs.rename() en Node.js:

Ejemplo 1: este ejemplo utiliza el método fs.rename() para cambiar el nombre de un archivo.

// Node.js program to demonstrate the    
// fs.rename() method 
     
// Import filesystem module
const fs = require('fs');
   
// List all the filenames before renaming
getCurrentFilenames();
   
// Rename the file
fs.rename('hello.txt', 'world.txt', () => {
  console.log("\nFile Renamed!\n");
   
  // List all the filenames after renaming
  getCurrentFilenames();
});
   
// Function to get current filenames
// in directory
function getCurrentFilenames() {
  console.log("Current filenames:");
  fs.readdirSync(__dirname).forEach(file => {
    console.log(file);
  });
}

Producción:

Current filenames:
hello.txt
index.js

File Renamed!

Current filenames:
index.js
world.txt

Ejemplo 2: este ejemplo utiliza el método fs.rename() para demostrar un error durante el cambio de nombre del archivo.

// Node.js program to demonstrate the    
// fs.rename() method 
     
// Import filesystem module
const fs = require('fs');
   
// List all the filenames before renaming
getCurrentFilenames();
   
// Rename the file
fs.rename('hello.txt', 'geeks.txt', (error) => {
  if (error) {
      
    // Show the error 
    console.log(error);
  }
  else {
  
    // List all the filenames after renaming
    console.log("\nFile Renamed\n");
   
    // List all the filenames after renaming
    getCurrentFilenames();
  }
});
   
// Function to get current filenames
// in directory
function getCurrentFilenames() {
  console.log("Current filenames:");
  fs.readdirSync(__dirname).forEach(file => {
    console.log(file);
  });
}

Producción:

Current filenames:
index.js
package.json
world.txt
[Error: ENOENT: no such file or directory, rename 
'G:\tutorials\nodejs-fs-rename\hello.txt' ->
'G:\tutorials\nodejs-fs-rename\geeks.txt'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'rename',
  path: 'G:\\tutorials\\nodejs-fs-rename\\hello.txt',
  dest: 'G:\\tutorials\\nodejs-fs-rename\\geeks.txt'
}

Referencia: https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *