查看nodejs安装路径 node文档怎么看

文件描述符在您能够与文件系统中的文件进行交互之前,您必须获得一个文件描述符 。
文件描述符是对打开文件的引用,是通过使用fs模块提供的open()方法打开文件返回的数字(fd) 。此数字(fd)唯一标识操作系统中打开的文件:
const fs = require('fs');fs.open('/Users/joe/test.txt', 'r', (err, fd) => { // fd is our file descriptor});【查看nodejs安装路径 node文档怎么看】请注意,我们将r用作fs.open()调用的第二个参数 。
该标志表示我们打开文件进行读取(read) 。
您通常使用的其他标志有:
标志
描述
不存在则创建
r+
此标志打开文件进行读取和写入
X
w+
此标志打开文件进行读取和写入,并将流定位在文件的开头
v
a
这个标志打开文件进行写入,它还将流定位在文件的末尾
v
a+
这个标志打开文件进行读写,它还将流定位在文件的末尾
v
您也可以使用fs.openSync方法打开文件,该方法返回文件描述符,而不是在回调中提供:
const fs = require('fs');try { const fd = fs.openSync('/Users/joe/test.txt', 'r');} catch (err) { console.error(err);}一旦您获得了文件描述符 , 无论您选择什么方式,您都可以执行所有需要它的操作,比如调用fs.close()和许多其他与文件系统交互的操作 。
您也可以使用fs/promises模块提供的基于promise的fsPromises.open方法打开文件 。
fs/progress模块仅从Node.js v14开始提供 。在v14之前 , 在v10之后,您可以使用require(‘fs’).proness 。在v10之前 , 在v8之后 , 您可以使用util.proisify将fs方法转换为基于promise的方法 。
const fs = require('fs/promises');// Or const fs = require('fs').promises before v14.async function example() {let filehandle;try {filehandle = await fs.open('/Users/joe/test.txt', 'r');console.log(filehandle.fd);console.log(await filehandle.readFile({ encoding: 'utf8' }));} finally {if (filehandle) await filehandle.close();}}example();以下是util.prostify的一个示例:
const fs = require('fs');const util = require('util');async function example() {const open = util.promisify(fs.open);const fd = await open('/Users/joe/test.txt', 'r');}example();要查看有关fs/promise模块的更多详细信息,请查看fs/promises API 。
读取文件在Node.js中读取文件的最简单方法是使用fs.readFile()方法,向其传递文件路径、编码和回调函数,该函数将与文件数据(以及错误)一起调用:
const fs = require('fs');fs.readFile('/Users/joe/test.txt', 'utf8', (err, data) => {if (err) {console.error(err);return;} console.log(data);});或者,您可以使用同步版本fs.readFileSync():
const fs = require('fs');try {const data = http://www.wokk.cn/fs.readFileSync('/Users/joe/test.txt', 'utf8');console.log(data);} catch (err) { console.error(err);}您还可以使用fs/promises模块提供的基于promise的fsPromises.readFile()方法:
const fs = require('fs/promises');async function example() {try {const data = http://www.wokk.cn/await fs.readFile('/Users/joe/test.txt', { encoding: 'utf8' });console.log(data);} catch (err) { console.log(err);}}example();fs.readFile()、fs.readFileSync()和fsPromises.readFile()这三个函数在返回数据之前都会读取内存中文件的全部内容 。
这意味着大文件将对内存消耗和程序执行速度产生重大影响 。
在这种情况下,更好的选择是使用流读取文件内容 。


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: