好。
因此,我试图从一个代表计数器的文件中读取一个数字,进行一些循环,然后每次写入第二个文件,然后在需要时停止,然后将计数器的新值写入相同的第一个文件中。
var textPath = "/kolodvori.txt";
var countPath = "/dijestao.txt";
var buffer = new Buffer(0);
fs.readFile(countPath, function (err,data){
if (err) console.log(err);
else {
console.log(data);
i = data;
var stream2 = fs.createWriteStream(textPath, {flags: 'a'});
stream2.once('open', function (fd){
fs.open(countPath,'w', function (fd2){
getPageHtml(defHost, firstNewPath, i, function (html,count,callback){
if (count%10==0) console.log(count);
++count;
i = new Buffer(count.toString());
//console.log('i:' + i);
fs.write(fd2, i, 0, i.length, null, function (err,len,buff){ console.log(err); });
var newPath = defPath.replace(/xxxKOLO1xxx/gi, count);
getPageHtml(defHost, newPath, count, callback);
});
});
});
}
});
经过所有的辛勤工作,我得到了回报
fs.js:513
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:513:11)
在这种情况下,“不良论点”甚至意味着什么?
与我有两种读取然后写入同一文件的方式有关吗?
最佳答案
使用path.join(__dirname, "./kolodvori.txt"
)和path.join(__dirname, "./dijestao.txt")
代替。
使用/
表示相对于root
,并且您要相对于脚本目录。
请记住在顶部执行var path = require("path");
。
关于javascript - 为什么fs.write中出现“错误参数”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20914498/