fs.ftruncate(fd[, len], callback)
fd
<integer>len
<integer> 默认值:0
callback
<Function>err
<Error>
截断文件描述符。 除了可能的异常之外,没有为完成回调提供任何参数。
有关更多详细信息,请参阅 POSIX ftruncate(2)
文档。
如果文件描述符引用的文件大于 len
个字节,则文件中将仅保留前 len
个字节。
例如,以下程序仅保留文件的前四个字节:
import { open, close, ftruncate } from 'node:fs';
function closeFd(fd) {
close(fd, (err) => {
if (err) throw err;
});
}
open('temp.txt', 'r+', (err, fd) => {
if (err) throw err;
try {
ftruncate(fd, 4, (err) => {
closeFd(fd);
if (err) throw err;
});
} catch (err) {
closeFd(fd);
if (err) throw err;
}
});
如果文件先前小于 len
个字节,则将其扩展,并且扩展部分将使用空字节('\0'
)填充:
如果 len
为负数,则将使用 0
。
fd
<integer>len
<integer> Default:0
callback
<Function>err
<Error>
Truncates the file descriptor. No arguments other than a possible exception are given to the completion callback.
See the POSIX ftruncate(2)
documentation for more detail.
If the file referred to by the file descriptor was larger than len
bytes, only
the first len
bytes will be retained in the file.
For example, the following program retains only the first four bytes of the file:
import { open, close, ftruncate } from 'node:fs';
function closeFd(fd) {
close(fd, (err) => {
if (err) throw err;
});
}
open('temp.txt', 'r+', (err, fd) => {
if (err) throw err;
try {
ftruncate(fd, 4, (err) => {
closeFd(fd);
if (err) throw err;
});
} catch (err) {
closeFd(fd);
if (err) throw err;
}
});
If the file previously was shorter than len
bytes, it is extended, and the
extended part is filled with null bytes ('\0'
):
If len
is negative then 0
will be used.