fs.createReadStream()
和 fs.createWriteStream()
只支持文件 路径,但我需要从文件描述符(传递给/来自子进程)读取(或写入)。
请注意,我需要使用流,因此fs.open/fs.read/fs.write
不足以满足需求。
fs.createReadStream()
和 fs.createWriteStream()
只支持文件 路径,但我需要从文件描述符(传递给/来自子进程)读取(或写入)。
请注意,我需要使用流,因此fs.open/fs.read/fs.write
不足以满足需求。
var fs = require('fs');
var fd = fs.openSync('/tmp/tmp.js', 'r');
var s = fs.createReadStream(null, {fd: fd});
s.pipe(process.stdout);
如果有 fd
选项,则忽略文件名。
// Open &3:
process.oob1 = fs.createWriteStream(null, { fd: 3 });
// Write to &3 / oob1 (out-of-band 1)
process.oob1.write("Note: this will throw an exception without 3>&1 or something else declaring the existence of &3");
fs.createWriteStream(null, {fd: fd})
。奇怪的是这个方法在手册里没有记录,但它非常有效。 - Bartvdsfs.createReadStream('', {fd: fd})
而不是null
。 - Vad