我在堆栈溢出和其他地方找到了各种答案。
我应该这样做:
let data = fs.readFileSync(FILE_NAME, "utf8");
或者这个:
let data = fs.readFileSync(FILE_NAME, {encoding: "utf8"});
谢谢!!!
答案 0 :(得分:5)
来自the documentation,两者都有效:
fs.readFileSync(path [,options])
- options< Object> | <串GT;
- 编码< string> | <空>默认值:null
- flag< string>请参阅支持文件系统标志。默认值:'r'。
第二个参数可以是选项对象,也可以是编码名称。
答案 1 :(得分:0)
我认为你不需要明确提及编码,因为它是一个可选参数
var fs = require("fs");
/***
* implementation of readFileSync
*/
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("Program Ended");
/***
* implementation of readFile
*/
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});
console.log("Program Ended");
这甚至没有提供"编码"参数
答案 2 :(得分:0)
对我来说,文件中的字符为utf-8
,但文件格式为ansii
。
我通过以notepad
打开文件,然后以utf-8
格式保存文件来解决了这个问题。