TypeError [ERR_INVALID_OPT_VALUE_ENCODING] 值“./ab.txt”对于选项“encoding”无效

MAK*_*MAK 5 node.js express

const fs=require('fs');

var read = fs.createReadStream(__dirname,'./ab.txt','utf8');
read.on('data',function(chunk){
  console.log("New Chunk Received ");
  console.log(chunk);
});
Run Code Online (Sandbox Code Playgroud)

我在 express 应用程序中使用 fs 模块并尝试读取文本文件,但命令提示符给了我以下错误。

internal/fs/utils.js:41 throw new ERR_INVALID_OPT_VALUE_ENCODING(encoding); ^

TypeError [ERR_INVALID_OPT_VALUE_ENCODING]:值“./ab.txt”对于选项“encoding”无效

Sam*_*-Sm 5

看起来这里的问题是 fs 函数参数

您将 './ab.txt' 作为第二个参数传递,该参数将其作为编码。

这应该有效:

const fs = require('fs');
const path = require('path');

const read = fs.createReadStream(path.join(__dirname,'./ab.txt'));
read.on('data',function(chunk){
  console.log("New Chunk Received");
  console.log(chunk);
});
Run Code Online (Sandbox Code Playgroud)

'utf-8' 是 fs 使用的标准编码,所以也不需要传递它。