Comment appeler un fichier node.js dans Java et enregistrer les valeurs console.log dans une variable String?
Il est possible pour une application Java de communiquer avec une application Node.JS en cours d'exécution. Par exemple, vous pouvez avoir une application Node.JS s'exécutant sur un port disponible et l'application Java peut communiquer avec elle via des sockets TCP.
http://nodejs.org/api/net.html
Vous pouvez également créer un serveur http et exposer un service de repos que votre application Java peut consommer.
http://nodejs.org/api/http.html
Ou, comme le dit md_5, vous pouvez utiliser Runtime.exec, puis appeler getInputStream sur le processus résultant.
http://docs.Oracle.com/javase/7/docs/api/Java/lang/Runtime.html
Les méthodes de communication entre node.js et Java ne diffèrent pas des autres communications inter-applications pouvant être réalisées.
Il est également possible d'appeler du code Java à partir de votre application Node.JS en utilisant quelque chose comme node-Java.
Vérifiez ces projets qui vous permettent d’exécuter des scripts node.js dans jvm
Ne peut pas être fait. Pour JS normal, vous pouvez utiliser Rhino, mais pour Node, vous devez vous assurer qu'il se trouve dans le PATH, puis appelez Runtine.exec ou un ProcessBuilder avec ByteArrayOutputsreams pouvant ensuite être converti en chaînes. Le code de noeud ne peut pas accéder à Java et vice versa.
Oui, il est très facile d’exécuter un fichier node.js en utilisant Java.
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();
}
}
}