我在读取文件统计信息时遇到问题。我有以下代码:
var fs = require('fs');
process.stdin.setEncoding('utf8');
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null) {
var stats =fs.statSync(chunk);
length=stats.size;
console.log(length);
}
});
当我执行此代码时,我得到此错误:
return binding.stat(pathModule._makeLong(path));
^
Error: ENOENT, no such file or directory 'hello.txt
但是问题是“ hello.txt”实际上存在于同一目录下。我尝试过使用其他文件,但总是收到相同的错误。有任何想法吗?
谢谢
从标准输入读取的块最后包含一个新行,这与您对的调用相冲突fs.statSync
。试试这个:
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null && chunk !== '') {
var stats = fs.statSync(chunk.trim()); // trim the input
length=stats.size;
console.log(length);
}
});
还要注意,只要触发“可读”事件,该函数就会不断执行。您可能希望在某些时候终止程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句