当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js filehandle.truncate()用法及代码示例


filehandle.truncate()方法在Node.js的文件系统模块中定义。文件系统模块本质上是用于与用户计算机的硬盘进行交互的。 truncate()方法用于通过‘len’字节修改文件的内部内容。如果len短于文件的当前长度,则文件将被截断为len的长度;如果大于len,则通过添加空字节(x00)填充文件长度,直到达到len。

用法:

filehandle.truncate( len );

参数:此方法接受上述和以下描述的单个参数:

  • len:它是一个数字值,它指定文件的长度,之后将截断文件。这是一个可选参数,默认值为0,即,如果未提供len参数,则会截断整个文件。

返回值:它返回一个promise,该promise将在成功时不带任何参数地被解析,或者在出现问题时被错误对象拒绝(Ex-给定路径是目录的路径或给定路径不存在)。

范例1:此示例说明了在没有给出文件将被截断后的长度时如何截断的工作。



// Importing File System and  
// Utilities module 
const fs = require('fs') 
  
const truncateFile = async (path) => { 
    let filehandle = null
  
    try { 
        filehandle = await fs.promises 
                .open(path, mode = 'r+') 
        // Append operation 
        await filehandle.truncate() 
        console.log('\nTruncate done, File" 
                + " contents are deleted!\n') 
    } finally { 
        if (filehandle) { 
  
            // Close the file if it is opened. 
            await filehandle.close(); 
        } 
    } 
} 
  
truncateFile('./testFile.txt') 
    .catch(err => { 
        console.log(`Error Occurs, Error code ->  
        ${err.code}, Error NO -> ${err.errno}`) 
    })

运行程序之前的文件内容:

运行程序后的文件内容:

输出:

Truncate done, File contents are deleted!

范例2:此示例说明了截断文件后的长度时如何截断工作。

// Importing File System and Utilities module 
const fs = require('fs') 
  
// fs.readFileSync(() method reads the file 
// and returns buffer form of the data  
const oldBuff = fs.readFileSync('./testFile.txt') 
  
// File content after append  
const oldContent = oldBuff.toString() 
console.log(`\nContents before truncate:
                         \n${oldContent}`) 
  
const truncateFile = async (path, len) => { 
    let filehandle = null
  
    try { 
        filehandle = await fs.promises 
                .open(path, mode = 'r+') 
        // Append operation 
        await filehandle.truncate(len) 
        console.log('\nTruncate done!\n') 
    } finally { 
        if (filehandle) { 
  
            // Close the file if it is opened. 
            await filehandle.close(); 
        } 
    } 
  
    const newBuff = fs.readFileSync(path) 
    //File content after truncate 
    const newContent = newBuff.toString() 
    console.log(`Contents after truncate:
                        \n${newContent}`) 
} 
  
truncateFile('./testFile.txt', 52) 
    .catch(err => { 
        console.log(`Error Occurs, Error code ->  
            ${err.code}, Error NO -> ${err.errno}`) 
    })

输出:




相关用法


注:本文由纯净天空筛选整理自hunter__js大神的英文原创作品 Node.js filehandle.truncate() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。