scala外部命令工作的原理:
通过scala代码可以直接调用JVM的系统功能或者OS的系统功能或者OS的shell命令,这可以极大的简化外部功能的实现,因为这种工作方式实际上是复用JVM和OS本身提供的功能,作为scala本身是直接把结果拿过来,其实这是代码模块化和软件复用的一种表现。
原理:
scala是基于JVM进程的,scala程序运行的时候会运行在JVM进程中,而JVM进程是OS的一个普通进程,通过JVM可以直接和OS进行交互,而OS有例如启动进程等功能,所以scala程序可以通过JVM去调用外部的功能。
例如:
import sys.process._
"ls -al"!
package com.sparktest import sys.process._ /** * scala外部命令 */ object CMD { def main(args: Array[String]): Unit = { "javac Hello.java"! } }