-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
doc: improve fs.truncate functions' documentation #7648
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -739,19 +739,59 @@ added: v0.8.6 | |
| --> | ||
|
|
||
| * `fd` {Integer} | ||
| * `len` {Integer} | ||
| * `len` {Integer} default = `0` | ||
| * `callback` {Function} | ||
|
|
||
| Asynchronous ftruncate(2). No arguments other than a possible exception are | ||
| given to the completion callback. | ||
|
|
||
| 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 | ||
|
|
||
| ```js | ||
| console.log(fs.readFileSync('temp.txt', 'utf8'); | ||
| // prints Node.js | ||
|
|
||
| // get the file descriptor of the file to be truncated | ||
| const fd = fs.openSync('temp.txt', 'r+'); | ||
|
|
||
| // truncate the file to first four bytes | ||
| fs.ftruncate(fd, 4, (err) => { | ||
| assert.ifError(err); | ||
| console.log(fs.readFileSync('temp.txt', 'utf8')); | ||
| }); | ||
| // prints Node | ||
| ``` | ||
|
|
||
| If the file previously was shorter than `len` bytes, it is extended, and the | ||
| extended part is filled with null bytes ('\0'). For example, | ||
|
|
||
| ```js | ||
| fs.readFileSync('temp.txt', 'utf-8'); | ||
|
||
| // prints Node.js | ||
|
|
||
| // get the file descriptor of the file to be truncated | ||
| const fd = fs.openSync('temp.txt', 'r+'); | ||
|
|
||
| // truncate the file to 10 bytes, whereas the actual size is 7 bytes | ||
| fs.ftruncate(fd, 10, (err) => { | ||
| assert.ifError(!err); | ||
| console.log(fs.readFileSync('temp.txt')); | ||
| }); | ||
| // prints <Buffer 4e 6f 64 65 2e 6a 73 00 00 00> | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just a suggestion, but maybe add a second line like this? // prints <Buffer 4e 6f 64 65 2e 6a 73 00 00 00>
// ('Node.js\0\0\0' in UTF8) |
||
| ``` | ||
|
|
||
| The last three bytes are zeroes, to compensate the over-truncation. | ||
|
||
|
|
||
| ## fs.ftruncateSync(fd, len) | ||
| <!-- YAML | ||
| added: v0.8.6 | ||
| --> | ||
|
|
||
| * `fd` {Integer} | ||
| * `len` {Integer} | ||
| * `len` {Integer} default = `0` | ||
|
|
||
| Synchronous ftruncate(2). Returns `undefined`. | ||
|
|
||
|
|
@@ -1368,7 +1408,7 @@ added: v0.8.6 | |
| --> | ||
|
|
||
| * `path` {String | Buffer} | ||
| * `len` {Integer} | ||
| * `len` {Integer} default = `0` | ||
| * `callback` {Function} | ||
|
|
||
| Asynchronous truncate(2). No arguments other than a possible exception are | ||
|
|
@@ -1381,9 +1421,10 @@ added: v0.8.6 | |
| --> | ||
|
|
||
| * `path` {String | Buffer} | ||
| * `len` {Integer} | ||
| * `len` {Integer} default = `0` | ||
|
|
||
| Synchronous truncate(2). Returns `undefined`. | ||
| Synchronous truncate(2). Returns `undefined`. A file descriptor can also be | ||
| passed as the first argument. In this case, `fs.ftruncateSync()` is called. | ||
|
|
||
| ## fs.unlink(path, callback) | ||
| <!-- YAML | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: missing
)