Node.js使用readline模块实现输入输出
什么是读取线
Readline是在Node.js中实现标准输入输出的封装模块,通过这个模块,我们可以一行行的读取数据流。使用require('readline ')引用模块。
如何使用Readline
从使用的角度来说,要学习Readline,我们需要学习它的三个部分:
创建一个Readline实例来学习里面的接口方法,学习监听和处理Readline事件,然后我们通过例子来学习这三部分。
例1:我叫小明
代码如下:
/* * *由管理员于2015年9月10日创建。*///引入readline模块var readline=require(' readline ');//创建readline接口实例varrl=readline . create interface({ input : process . stdin,output : process . stdout });//提问方法rl . question(‘你叫什么名字?’,函数(答案){ console.log('名称为:'答案');//没有close,rl.close()不会结束;});//close事件监视器rl.on('close ',function(){//end program process . exit(0);});上面的例子使用了我们需要学习的三个部分。首先我们用createInterface创建一个接口实例,然后用question方法问名字,最后听readline的close事件,因为事件的方法名和被监控名都很直观,它们的功能一目了然。这里我只提三点需要注意的地方:
在createInterface中,我们需要传入标准的输入和输出作为数据流。在question方法的回调函数中,我们可以获取用户的输入并进行处理。同时,我们做关闭操作来结束程序。否则,程序不会在close事件的监控中结束,我们执行process.exit(0)使程序退出。因为只要从一开始就获得用户输入,readline模块就不会结束,所以有必要使用这种直接的方式来结束程序实例2:输入和输出
/* * *由管理员于2015年9月10日创建。*///引入readline模块var readline=require(' readline ');var rl=readline . create interface({ input : process . stdin,output : process . stdout });Rl.on ('line ',function(line){ switch(line . trim()){ case ' copy ' : console . log(' copy ');打破;大小写“hello”: rl . Write(‘Write’);console.log('world!');打破;案例“close”: rl . close();打破;Default: console.log('找不到命令!');打破;}});rl.on('close ',function(){ console . log(' bye bye ');process . exit(0);});用户打完一行按回车键后触发的‘line’事件,将通过回调函数发回用户输入的数据,可以用这种方法处理用户输入的数据
示例3:类似于命令行的输入和输出
var readline=require(' readline ');var rl=readline . create interface(process . stdin,process . stdout);rl.setPrompt('测试');rl .提示符();Rl.on ('line ',function(line){ switch(line . trim()){ case ' copy ' : console . log(' copy ');打破;case ' hello ' : console . log(' world!');打破;案例“close”: rl . close();打破;Default: console.log('找不到命令!');打破;} rl .提示符();});rl.on('close ',function() { console.log('bye bye!');process . exit(0);});运行截图如下:
这个例子中有两种新方法
方法setFOrmat(promat)是为每一行设置一个提示,就像窗口命令行一样。我们这里设置的是Test promat(),可以说是最重要的方法,因为它只体现了Readline的核心功能,以行为为单位读取数据,premat方法是等待用户输入数据,在这里监控‘line’事件。因为一旦调用promat方法,数据只会被读取一次,所以在这个方法中再次调用promat方法,这样就可以继续读取用户输入,从而达到命令行效果附录
这里只有三个简单的例子来说明Readline的使用。如果你想了解更多关于Readline的使用和更多的方法和事件,可以去官方API
摘要
以上就是本文的全部内容。希望这篇文章的内容对你的学习或工作有所帮助。有问题可以留言交流。
版权声明:Node.js使用readline模块实现输入输出是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。