节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
Node Js: How to catch a "No such file or directory" error in readline module
我正在开发一个程序,该程序使用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
异常由createReadStream引发。您需要添加"出现错误"的情况来创建ReadStream:
var fs = file_stream.createReadStream(file_name)
fs.on('error', function (err) {
// handle error here
});
var line_reader = read_line.createInterface({
input: fs
});
小姐从一开始就阅读了你的问题,并更新了我的答案。
可以使用fs.stat 的解决方案
编辑
// fs.stat is async
fs.stat(file_name, function(err,stat){
if (stat && stat.isFile() ) {
var line_reader = read_line.createInterface({
input: file_stream.createReadStream(file_name)
});
}
});
相关文章:
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Composer-view.js文件出错
- 从静态文件加载json时出错
- 代码在shell中运行,但提供'可以't查找变量'从文件运行时出错
- 从.ascx文件调用Javascript函数时出错
- 使用 broccoli-requirejs 从同一棵树构建两个不同的文件时出错
- Jquery Ajax 上传大文件会出错
- 在使用 GULP 任务将所有 JS 连接到单个 JS 文件中时,在 AngularJS 中出错
- 从 JavaScript 中的本地 JSON 文件读取时出错
- 将内联 Javascript 移动到外部文件时出错 - 我该如何解决这个问题
- Ajax 调用时出错 ->发送两个文件而不是一个文件
- 在 Ember 插件中导入配置文件时出错
- 从另一个文件调用Javascript对象时出错
- 在nodeJS和Express框架中找不到文件时出错
- 在asp.net中打开名为ambersand的文件时出错
- Ajax调用工作正常,但php文件在从对象检索属性时出错
- javascript文件出错,但控制台没有
- jquerymobile js文件出错
- 在下载文件出错的情况下,管理表单提交上的JSON服务器响应
- 从javascript调用php文件出错[HTTP/1.1 301永久移动807ms]