小编典典

为什么 Node.js 的 fs.readFile() 返回的是缓冲区而不是字符串?

all

我正在尝试读取test.txt(位于 Javascript 源代码的同一文件夹中)的内容并使用以下代码显示它:

var fs = require("fs");

fs.readFile("test.txt", function (err, data) {
    if (err) throw err;
    console.log(data);
});

的内容test.txt创建于nano

测试 Node.js readFile()

我得到了这个:

Nathan-Camposs-MacBook-Pro:node_test Nathan$ node main.js
<Buffer 54 65 73 74 69 6e 67 20 4e 6f 64 65 2e 6a 73 20 72 65 61 64 46 69 6c 65 28 29>
Nathan-Camposs-MacBook-Pro:node_test Nathan$

阅读 125

收藏
2022-03-14

共1个答案

小编典典

文档:

如果未指定编码,则返回原始缓冲区。

这可以解释<Buffer ...>. 指定一个有效的编码,例如utf-8,作为文件名之后的第二个参数。如,

fs.readFile("test.txt", "utf8", function(err, data) {...});
2022-03-14