El método filehandle.appendFile() se define en el módulo Sistema de archivos de Node.js. El módulo del Sistema de Archivos es básicamente para interactuar con el disco duro de la computadora del usuario. El método appendFile() se usa para agregar de forma asíncrona nuevos datos en el archivo existente o, si el archivo no existe, primero se crea el archivo y luego se le agregan los datos proporcionados.
Sintaxis:
filehandle.appendFile(data, options);
Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:
- datos: es una string o un búfer que se agregará al archivo de destino.
- opciones: es un parámetro opcional que afecta la salida de alguna manera según lo proporcionemos a la llamada de función o no.
- codificación: Especifica la técnica de codificación, por defecto es ‘UTF8’.
Enfoque: el método fs.promises.open(ruta, modo) devuelve una promesa que se resolvió con el objeto identificador de archivo. Primero, creamos un objeto de identificador de archivo y luego procedemos con el método appendFile() con la ayuda de this.
Cuando se opera en identificadores de archivo, el modo no se puede cambiar de lo que se configuró con fs.promises.open(), por lo tanto, nos aseguramos de agregar ‘a’ o ‘a+’ al modo al invocar fs.promises.open() de lo contrario, el método appendFile() simplemente actúa como método writeFile().
Ejemplo 1: Este ejemplo ilustra cómo se agregaron nuevos datos a archivos previamente existentes.
// Importing File System and Utilities module const fs = require('fs') // fs.readFileSync(() method reads the file // and returns buffer form of the data const oldBuffer = fs.readFileSync('./testFile.txt') // File content before append const oldContent = oldBuffer.toString() console.log(`\nBefore Append: ${oldContent}\n`) const appendDataToFile = async (path, data) => { let filehandle = null try { // Mode 'a' allows to append new data in file filehandle = await fs.promises.open(path, mode = 'a') // Append operation await filehandle.appendFile(data) } finally { if (filehandle) { // Close the file if it is opened. await filehandle.close(); } } const newBuffer = fs.readFileSync('./testFile.txt') // File content after append const newContent = newBuffer.toString() console.log(`After Append: ${newContent}`) } appendDataToFile('./testFile.txt', '\nHey, I am newly added..!!') .catch(err => { console.log(`Error Occurs, Error code -> ${err.code}, Error NO -> ${err.errno}`) })
Producción:
Ejemplo 2: este ejemplo ilustra cómo se adjuntan los datos al archivo recién creado en tiempo de ejecución.
// Importing File System and Utilities module const fs = require('fs') const appendDataToFile = async (path, data) => { let filehandle = null try { // Mode 'a' allows to append new data in file filehandle = await fs.promises.open(path, mode = 'a') // Append operation await filehandle.appendFile(data) } finally { if (filehandle) { // Close the file if it is opened. await filehandle.close(); } } // fs.readFileSync(() method reads the file // and returns buffer form of the data const buff = fs.readFileSync('./testFile.txt') // File content after append const content = buff.toString() console.log(`\nContent : ${content}`) } appendDataToFile('./testFile.txt', '\nPlease add me to the test file..!!') .catch(err => { console.log(`Error Occurs, Error code -> ${err.code}, Error NO -> ${err.errno}`) })
Estructura del directorio antes de ejecutar el programa:
Estructura del directorio después de ejecutar el programa:
Producción:
Publicación traducida automáticamente
Artículo escrito por hunter__js y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA