📅  最后修改于: 2023-12-03 15:33:08.932000             🧑  作者: Mango
fs.ftruncate()
方法用于截断打开的文件描述符,即将该文件变为指定长度。
此方法引用自 fs.truncate()
方法,二者区别在于 fs.ftruncate()
接收文件描述符作为第一个参数,而 fs.truncate()
接收路径作为第一个参数。
fs.ftruncate(fd, len, callback)
没有返回值。如果出错,则将 err 传递给回调函数。
const fs = require('fs')
const getFilesizeInBytes = (filename) => {
const stats = fs.statSync(filename)
const fileSizeInBytes = stats.size
return fileSizeInBytes
}
const file = 'example.txt'
const fd = fs.openSync(file, 'r+')
const fileSize = getFilesizeInBytes(file)
console.log('原始文件的大小:', fileSize, '字节')
fs.ftruncate(fd, 5, (err) => {
if (err) throw err
console.log(`截断 '${file}' 文件为 5 字节`)
console.log('截断后文件的大小:', getFilesizeInBytes(file), '字节')
})
上述例子中,我们使用 fs.openSync()
方法获取文件描述符,将其作为第一个参数传递给 fs.ftruncate()
方法。在回调函数内,我们根据是否出错,打印信息和文件大小。
fs.ftruncate()
方法用于截断打开的文件描述符,是对 fs.truncate()
方法的补充补充。需要注意的是,此方法会覆盖文件的原始内容,请谨慎使用。