首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

运用scala.sys.process包和系统交互

2012-10-25 
使用scala.sys.process包和系统交互在Java中我们可以使用Runtime.getRuntime().exec()来和系统交互。这个A

使用scala.sys.process包和系统交互
在Java中我们可以使用Runtime.getRuntime().exec();来和系统交互。这个API过于底层,exec返回一个代表进程的对象,然后从中读取执行结果或者错误信息。并且如果不关心进程的输出,而没有把输入结果重定向到/dev/null,超过输出结果的buffer就会阻塞。
scala.sys.process提供了shell的和系统交互的DSL,包括执行命令、逻辑操作、重定向、管道等操作。
使用!来执行外部命令:


如果没有参数,直接输出到标准输出或者标准错误输出
你可以传递Logger参数给!

如果想保存到变量中:

使用逻辑操作#&&,#||
cmd1 #&& cmd2
cmd1 #|| cmd2
使用管道:
cmd1 #| cmd2
例子:

使用重定向:
scala的重定向不仅可以从定向普通的文件,还可以把网络上的文件进行重定向到本地:
a #< url or url #> a
例子:

使用cat:


当然这一切的操作时通过字符串操作和执行命令的!、!!操作符完成的。

热点排行