您的位置:首页 > Web前端 > Node.js

NodeJs TypeError: First argument must be file descriptor解决方法

2017-03-09 13:52 459 查看
         最近在学习NodeJs,在练习一个例子的时候发现老是报:TypeError: First argument must be file descriptor,代码如下:

var fs=require('fs');

var buf=new Buffer('我喜爱编程');

fs.open('./anotherMessage.txt','wx',function(err,fd){
fs.write(fd,buf,0,15,0,function(err,written,buffer){
if(err) console.log('写文件操作失败。');
else console.log("写文件操作成功。");
fs.fsync(fd);
fs.close(fd);
});

});


        fs.write方法明明有“fd”这个文件描述,为何偏偏报这个错,原来是因为anotherMessage.txt文件在我本地已经存在了,fs.write这个方法在执行的时候会检测该文件是否已经存在了,如果已经存在便会报这个错误,解决办法也就很简单了,那就是先删掉本地该文件,然后再执行就成功了,如下所示。

TypeError: First argument must be file descriptor
at TypeError (native)
at Object.fs.write (fs.js:760:20)
at E:\ProgramFiles\nodejs\app.js:4:5
at FSReqWrap.oncomplete (fs.js:123:15)

E:\ProgramFiles\nodejs>node app.js
写文件操作成功。

E:\ProgramFiles\nodejs>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐