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}`)
})
输出:
相关用法
- Node.js console.timeLog()用法及代码示例
- Node.js GM motionBlur()用法及代码示例
- Node.js GM operator()用法及代码示例
- Node.js GM contrast()用法及代码示例
- Node.js GM randomThreshold()用法及代码示例
- Node.js GM recolor()用法及代码示例
- Node.js GM implode()用法及代码示例
- Node.js GM drawRectangle()用法及代码示例
- Node.js GM lower()用法及代码示例
- Node.js GM negative()用法及代码示例
- Node.js GM despeckle()用法及代码示例
- Node.js GM spread()用法及代码示例
注:本文由纯净天空筛选整理自hunter__js大神的英文原创作品 Node.js filehandle.truncate() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。