Método Node.js fsPromises.truncate()

El método fsPromises.truncate() se define en el módulo Sistema de archivos de Node.js. El módulo Sistema de archivos se utiliza básicamente para interactuar con el disco duro de la computadora del usuario.

El método truncate() se utiliza para modificar el contenido interno del archivo en bytes ‘len’. Si len es más corto que la longitud actual del archivo, el archivo se trunca a esa longitud de len y si es mayor que la longitud del archivo, se rellena agregando bytes nulos (x00) hasta alcanzar len.

Sintaxis:

fs.promises.truncate(path, len)

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

  • ruta: es una string, un búfer o una URL que especifica la ruta al archivo de destino.
  • len: es un valor numérico que especifica la longitud del archivo después del cual se trunca el archivo. Es un parámetro opcional, el valor predeterminado es 0, es decir, si no se proporciona el parámetro len, se truncará todo el archivo.

Valor de retorno: este método devuelve una promesa que se resolverá sin argumentos en caso de éxito o se rechazará con un objeto de error si algo salió mal (por ejemplo, la ruta dada es una ruta al directorio o la ruta dada no existe).

Ejemplo 1:

// Node.js program to demonstrate the   
// fsPromises.truncate() Method
  
// Importing File System module
const fs = require('fs');
  
// Truncate operation
fs.promises.truncate('./test.txt')
  
    // If file is successfully truncated
    .then(() => {
        console.log('File contents are deleted!');
    })
  
    // If any error occurs
    .catch(err => {
        console.log(`Error Occurs, Error code -> 
    ${err.code}, Error NO -> ${err.errno}`)
    });

Implementando la misma funcionalidad usando async-await.

// Node.js program to demonstrate the   
// fsPromises.truncate() Method
  
// Importing File System module
const fs = require('fs');
  
const truncate = async (path) => {
  
    // Truncate operation
    await fs.promises.truncate(path);
    console.log('File contents are deleted!');
}
  
truncate('./test.txt')
  
    // If any error occurs
    .catch(err => {
        console.log(`Error Occurs, Error code -> 
        ${err.code}, Error NO -> ${err.errno}`)
    });

Contenido del archivo antes de ejecutar el programa:

Contenido del archivo después de ejecutar el programa:

Producción:

File contents are deleted!

Ejemplo 2: Truncar parcialmente

// Node.js program to demonstrate the   
// fsPromises.truncate() Method
  
// Importing File System module
const fs = require('fs')
  
// Fetching contents before truncate 
fs.promises.readFile('./test.txt')
    .then(buff => {
        const oldContents = buff.toString()
        console.log(`\nContents before 
            truncate : \n${oldContents}`)
  
        // Truncate operation
        return fs.promises.truncate('./test.txt', 12)
    })
  
    // If file is successfully truncated
    .then(() => {
        console.log('\nTruncate done!\n')
  
        // Fetching contents after truncate 
        return fs.promises.readFile('./test.txt')
    })
  
    .then(buff => {
        const newContents = buff.toString()
        console.log(`Contents after 
            truncate : \n${newContents}`)
    })
  
    // If any error occurs
    .catch(err => {
        console.log(`Error Occurs, Error code -> 
        ${err.code}, Error NO -> ${err.errno}`)
    });

Implementando la misma funcionalidad usando async-await

// Node.js program to demonstrate the   
// fsPromises.truncate() Method
  
// Importing File System module
const fs = require('fs')
  
// Function to read file contents
const readFileContents = async (path) => {
    const buff = await fs.promises.readFile(path)
    return buff.toString()
}
  
// Function to truncate
const truncate = async (path, len) => {
  
    // Fetching contents before truncate 
    const oldContents = 
        await readFileContents('./test.txt')
  
    console.log(`\nContents before 
            truncate : \n${oldContents}`)
  
    // Truncate operation
    const buff = await fs.promises.truncate(path, len)
    console.log('\nTruncate done!\n')
  
    // Fetching contents before truncate 
    const newContents = 
        await readFileContents('./test.txt')
  
    console.log(`Contents after 
        truncate : \n${newContents}`)
}
  
truncate('./test.txt', 12)
  
    // If any error occurs
    .catch(err => {
        console.log(`Error Occurs, Error code -> 
        ${err.code}, Error NO -> ${err.errno}`)
    })

Contenido del archivo antes de ejecutar el programa:

Contenido del archivo después de ejecutar el programa:

Producción:

Referencia: https://nodejs.org/dist/latest-v14.x/docs/api/fs.html#fs_fspromises_truncate_path_len

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

Deja una respuesta

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