我试图让fs.read()
工作但遇到一些问题。这是我的fread.js
脚本:
var fs = require('fs');
fs.open('test.txt', 'r', function (err, handle) {
var f = handle;
var b = new Buffer(100000);
fs.read(f, b, 0, 100000, null, function (err, bytesRead) {
console.log(b.toSting("utf8", 0, bytesRead));
fs.close(f);
});
});
运行它时为什么会出现以下TypeError: Bad Argument
错误?
$ node fread.js
fs.js:457
binding.read(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.read (fs.js:457:11)
at /home/max/dev/livelessons/fread.js:8:5
at Object.oncomplete (fs.js:107:15)
答案 0 :(得分:4)
问题是我给了它错误的文件名。 test.txt
应该是text.txt
。卫生署!
答案 1 :(得分:2)
您应首先检查fs.open()
是否成功。最有可能设置err
并且handle
设置为未定义,导致" Bad Argument"错误。