Вопрос

I'm trying to get fs.read() to work but running into some issue(s). Here is my fread.js script:

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);
    });

});

Why do I get the following TypeError: Bad Argument error upon running it?

$ 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)
Это было полезно?

Решение

The problem was that I gave it the wrong file name. test.txt should have been text.txt. Doh!

Другие советы

You should check that fs.open() was successful first. Most likely err is set and handle is set to undefined, causing the "Bad Argument" error.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top