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


Node.js fs.truncate()用法及代碼示例


node.js中的fs.truncate()方法用於更改文件大小,即增加或減小文件大小。此方法將文件路徑的長度更改為len字節。如果len表示的長度短於文件的當前長度,則文件將被截斷為該長度。如果它大於文件長度,則通過附加空字節(x00)來填充文件長度,直到達到len。

用法:

fs.truncate( path, len, callback )

參數:此方法接受上述和以下所述的三個參數:


  • path:它保存目標文件的路徑。它可以是字符串,緩衝區或URL。
  • len:它保存文件的長度,在此長度之後文件將被截斷。它采用整數輸入,不是強製條件,因為它默認設置為0。
  • callback:回調接收一個參數,調用中會拋出任何異常。

注意:在最新版本的node.js中,回調不再是可選參數。如果我們不使用回調參數,那麽它將在運行時返回“Type Error”。

返回值:它將所需文件的長度更改為所需長度。

範例1:

// Node.js program to demonstrate the 
// fs.truncate() method 
   
// Include the fs module 
var fs = require('fs'); 
  
// Completely delete the content 
// of the targeted file 
fs.truncate('/path/to/file', 0, function() { 
    console.log('File Content Deleted') 
});

輸出:

File Content Deleted

範例2:

// Node.js program to demonstrate the 
// fs.truncate() method 
   
// Include the fs module 
var fs = require('fs'); 
  
console.log("Content of file"); 
   
// Opening file 
fs.open('input.txt', 'r+', function(err, fd) { 
    if (err) { 
        return console.error(err); 
    } 
   
    // Reading file 
    fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ 
        if (err){ 
            console.log(err); 
        } 
   
        // Truncating the file 
        fs.truncate('/path/to/file', 15, function(err, bytes){ 
            if (err){ 
                console.log(err); 
            } 
   
            // Content after truncating 
            console.log("New content of file"); 
            fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ 
                if (err) { 
                    console.log(err); 
                } 
                  
                // Print only read bytes to avoid junk. 
                if(bytes > 0) { 
                    console.log(buf.slice(0, bytes).toString()); 
                } 
   
                // Close the opened file. 
                fs.close(fd, function(err) { 
                    if (err) { 
                        console.log(err); 
                    } 
                }); 
            }); 
        }); 
    }); 
});

輸出:

Content of file
GeeksforGeeks example for truncate in node
New content of file
GeeksforGeeks

參考: https://nodejs.org/api/fs.html#fs_fs_ftruncate_fd_len_callback



相關用法


注:本文由純淨天空篩選整理自aditya20191大神的英文原創作品 Node.js | fs.truncate() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。