fs.readSync 文档上写的太迷惑性了。
<p>如文档上写的,同步读取文件,encoding 参数 明明是第4个参数,但其实是第二个参数。</p>
<p>真是坑人没商量呀。</p>
<blockquote> <p>fs.readSync(fd, length, position, encoding) Synchronous version of</p>
<p>string-based fs.read. Returns the number of bytesRead.</p>
<p>基于字符串的fs.read的同步版本,返回已经读入的数据的字节数。</p> </blockquote>
1 回复
没有吧?
var txt = fs.readSync(fd,100,1,'binary');
得到的txt = [ ‘string’ , length]
readSync 两种模式,返回buffer,返回string 没问题呀,
当使用string-based的时候,如果有中文这种非单字节的字符, position指定会比较危险,测试了一下,这个position是字节偏移量,所以,还是用得到整个string之后再做截断