fs.createReadStream(path[, options])
版本 | 变化 |
---|---|
v16.10.0 | 如果提供了 |
v16.10.0 | 如果 |
v15.4.0 |
|
v14.0.0 | 将 |
v13.6.0、v12.17.0 |
|
v12.10.0 | 启用 |
v11.0.0 | 对 |
v7.6.0 |
|
v7.0.0 | 传递的 |
v2.3.0 | 传递的 |
v0.1.31 | 添加于:v0.1.31 |
参数
与 <stream.Readable> 的 16 KiB 默认 highWaterMark
不同,此方法返回的流的默认 highWaterMark
为 64 KiB。
options
可以包含 start
和 end
值,以从文件而不是整个文件中读取字节范围。 start
和 end
都包含在内并从 0 开始计数,允许的值在 [0,
] 范围内。如果指定了 Number.MAX_SAFE_INTEGER
fd
并且省略了 start
或 undefined
,则 fs.createReadStream()
从当前文件位置开始顺序读取。 encoding
可以是 <Buffer> 接受的任何一种。
如果指定了fd
,则ReadStream
将忽略path
参数并使用指定的文件说明符。这意味着不会发出 'open'
事件。 fd
应该是阻塞的;非阻塞 fd
应该传递给 <net.Socket> 。
如果fd
指向仅支持阻塞读取的字符设备(例如键盘或声卡),则读取操作在数据可用之前不会完成。这可以防止进程退出和流自然关闭。
默认情况下,流将在销毁后发出 'close'
事件。将 emitClose
选项设置为 false
以更改此行为。
通过提供 fs
选项,可以覆盖 open
、 read
和 close
的相应 fs
实现。提供fs
选项时,需要覆盖read
。如果未提供 fd
,则还需要覆盖 open
。如果 autoClose
是 true
,则还需要覆盖 close
。
import { createReadStream } from 'node:fs';
// Create a stream from some character device.
const stream = createReadStream('/dev/input/event0');
setTimeout(() => {
stream.close(); // This may not close the stream.
// Artificially marking end-of-stream, as if the underlying resource had
// indicated end-of-file by itself, allows the stream to close.
// This does not cancel pending read operations, and if there is such an
// operation, the process may still not be able to exit successfully
// until it finishes.
stream.push(null);
stream.read(0);
}, 100);
如果autoClose
为假,则即使出现错误,文件说明符也不会关闭。关闭它并确保没有文件说明符泄漏是应用程序的责任。如果 autoClose
设置为 true(默认行为),则在 'error'
或 'end'
上,文件说明符将自动关闭。
mode
设置文件模式(权限和粘性位),但前提是文件已创建。
读取 100 字节长文件的最后 10 字节的示例:
import { createReadStream } from 'node:fs';
createReadStream('sample.txt', { start: 90, end: 99 });
如果options
是字符串,则它指定编码。
相关用法
- Node.js fs.createReadStream()用法及代码示例
- Node.js fs.createWriteStream()用法及代码示例
- Node.js fs.chmod()用法及代码示例
- Node.js fs.constants用法及代码示例
- Node.js fs.copyFile()用法及代码示例
- Node.js fs.closeSync()用法及代码示例
- Node.js fs.copyFile(src, dest[, mode], callback)用法及代码示例
- Node.js fs.copyFileSync()用法及代码示例
- Node.js fs.chownSync()用法及代码示例
- Node.js fs.close()用法及代码示例
- Node.js fs.chmodSync()用法及代码示例
- Node.js fs.copyFileSync(src, dest[, mode])用法及代码示例
- Node.js fs.chmod(path, mode, callback)用法及代码示例
- Node.js fs.chown()用法及代码示例
- Node.js fs.filehandle.datasync()用法及代码示例
- Node.js fs.read()用法及代码示例
- Node.js fs.Dirent.isFile()用法及代码示例
- Node.js fs.Dir.closeSync()用法及代码示例
- Node.js fs.fchmodSync()用法及代码示例
- Node.js fs.symlink(target, path[, type], callback)用法及代码示例
- Node.js fs.mkdir()用法及代码示例
- Node.js fs.mkdirSync()用法及代码示例
- Node.js fs.fdatasync()用法及代码示例
- Node.js fs.Dirent.isFIFO()用法及代码示例
- Node.js fs.writeSync()用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 fs.createReadStream(path[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。