在飞镖中进行系统调用?

时间:2013-01-15 21:43:14

标签: dart

我想从dart内部执行python或java类。

以下是我从stackoverflow问题Java

中使用的片段
Runtime currentRuntime = Runtime.getRuntime();
Process executeProcess = currentRuntime.exec("cmd /c c:\\somepath\\pythonprogram.py");

我想知道如何用飞镖打电话。

基本上我有一个UI,用户在java和python中上传代码。我想从dart环境执行上传的代码,而不是在java或python上创建代码上传文件夹的例程。

我个人不知道这是否可行,因为dart纯粹是在虚拟机中。

我想执行以下命令

java abc

来自飞镖。

1 个答案:

答案 0 :(得分:14)

您只需使用Process.run

import 'dart:io';

main() {
  Process.run('java', ['abd']);
}

您还可以通过生成的ProcessResult访问stdoutstderrexitCode

import 'dart:io';

main() {
  Process.run('java', ['abd']).then((ProcessResult pr){
    print(pr.exitCode);
    print(pr.stdout);
    print(pr.stderr);
  });
}