节点Js:如何捕捉readline模块中的“没有这样的文件或目录”错误
我正在研究一个用readline模块逐行读取文件的程序。 首先我通过命令行获取文件名,但是我想检查文件是否真的存在。 我已经读了fs.stat(),但我想知道是否有一种方法直接与readline捕捉错误。 到目前为止,我已经尝试过了
try{ var line_reader = read_line.createInterface({ input: file_stream.createReadStream(file_name) }); }catch(err){ console.log('Please insert a valid file name'); }
但是我仍然得到这个消息
Error: ENOENT: no such file or directory
小姐一开始就读了你的问题,并更新了我的答案。
您可以使用fs.stat的解决scheme
编辑
// fs.stat is async var stats = fs.stat(file_name, function(err,stat){ if (stats && stats.isFile() ) { var line_reader = read_line.createInterface({ input: file_stream.createReadStream(file_name) }); } });