我正在使用Node.js创建一个应用程序,并尝试读取名为“datalog.txt”的文件。我使用“append”函数写入该文件:
//Appends buffer data to a given file
function append(filename, buffer) {
let fd = fs.openSync(filename, 'a+');
fs.writeSync(fd, str2ab(buffer));
fs.closeSync(fd);
}
//Converts string to buffer
function str2ab(str) {
var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
var bufView = new Uint16Array(buf);
for (var i=0, strLen=str.length; i < strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
append("datalog.txt","12345");
这看起来工作得很好。但是,现在我想使用fs.readFileSync
从文件中读取。我尝试使用以下命令:
const data = fs.readFileSync('datalog.txt', 'utf16le');
我将编码参数更改为the Node documentation中列出的所有编码类型,但所有类型都导致此错误:
TypeError: Argument at index 2 is invalid: Invalid encoding
所有我想能够做的是能够从“datalog.txt”读取数据。任何帮助将不胜感激!
注意:一旦我可以读取文件的数据,我希望能够得到一个文件的所有行的列表。
3条答案
按热度按时间lp0sw83n1#
编码和类型是一个对象:
v64noz0r2#
好吧,经过几个小时的故障排除和看文档我想出了一个方法来做到这一点。
希望它能帮助其他有同样问题的人!
dzhpxtsq3#
这对我很有效:
index.js
节点索引. js
输出: