在java中调用node.js脚本

我如何调用java内的node.js并将console.log值保存在Stringvariables中?

Java应用程序可以与正在运行的Node.JS应用程序进行通信。 例如,您可以在可用的端口上运行Node.JS应用程序,Java应用程序可以通过tcp套接字与它通信。

http://nodejs.org/api/net.html

或者您可以创build一个http服务器并公开您的Java应用程序可以使用的其余服务。

http://nodejs.org/api/http.html

或者如md_5所示,可以使用Runtime.exec,然后在生成的进程上调用getInputStream。

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

您可以在node.js和Java之间进行通信的方式与可以完成的其他跨应用程序通信没有区别。

也可以使用类似node-java的方式从Node.JS应用程序中调用Java代码。

https://github.com/nearinfinity/node-java

检查这些允许您在jvm中运行node.js脚本的项目

不能做。 对于普通的JS你可以使用Rhino,但是对于Node,你需要确保它在PATH中,然后调用Runtine.exec或带有ByteArrayOutputsreams的ProcessBuilder,稍后可以将其转换为string。 节点代码不能访问Java,反之亦然。

是的,这是非常eassy使用java执行和node.js文件。

import java.io.FileReader; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class RunScriptFileDemo { public static void main(String[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); try { FileReader reader = new FileReader("yourFile.js"); engine.eval(reader); reader.close(); } catch (Exception e) { e.printStackTrace(); } } }