javascript – node.js文件写入位置参数不起作用

前端之家收集整理的这篇文章主要介绍了javascript – node.js文件写入位置参数不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很难让node.js在正确的位置写入我的文件.这是我的问题的示范案例:
fs = require('fs');
foo = fs.openSync('foo.txt','r+');
fs.writeSync(foo,"hello",5,5);
fs.close(foo);

foo.txt有一行:

12345678901234567890

预期的输出是foo.txt包含12345hello1234567890,但我得到的是hello678901234567890.我正在运行节点v0.8.16.

这是一个错误,还是我做错了什么?

编辑:我一直在引用这些文档:fs.writeSync(fd,buffer,offset,length,position)

解决方法

正如指向文档的链接所说,第二个参数是一个缓冲区,但在您的代码中,您传递的是一个字符串.这样做会导致Node回退到一个不同的函数签名,该签名是为了向后兼容而存在的.
function(fd,str,position,encoding);

所以传递适当的论点

var buf = new Buffer("hello");
fs.writeSync(foo,buf,buf.length,5);
原文链接:https://www.f2er.com/js/150469.html

猜你在找的JavaScript相关文章