【发布时间】:2014-07-01 14:16:56
【问题描述】:
在 Node.js 中,我需要运行一个 JAR 文件并因此创建一个子进程:
var cp = require('child_process');
var child = cp.spawn('.../java.exe', ['-jar', 'C:/test.jar']);
child.stdout.on('data', function(data) {
console.log(data.toString());
});
child.stderr.on('data', function(data) {
console.log('Error: ' + data.toString());
});
我尝试使用child.stdin.write('test test'); 将数据发送到子进程,但这是我卡住的地方——我不知道如何在 Java 程序中获取这些数据。
我尝试了以下方法:
public static void main(String[] args) {
System.out.println("Waiting for input");
Scanner s = new Scanner(System.in);
String resp = s.nextLine();
System.out.println("Input got: " + resp);
}
...以及初始化DataInputStream(System.in),但可惜无济于事。我在 Node.js 中看到“等待输入”这一行,但似乎我通过收听 System.in 来找错树了。
如何使用child.stdin.write() 和child.stdin.end() 获取从Node.js 发送的输入?提前致谢!
【问题讨论】: