當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。