Quiero ejecutar un fragmento de código JavaScript que devuelve booleano, desde java.
Actualmente estoy usando ProcessBuilder para ejecutar el programa JavaScript con el comando jjs filename .
Puedo realizar las operaciones y obtener el resultado de getOutputStream correctamente.
Pero mi requisito es devolver el valor booleano de la secuencia de comandos, cuando realizo cambios similares en la secuencia de comandos, se obtiene una declaración de devolución no válida por error de tiempo de compilación, lo cual es obvio.
cuando uso
var a=5; var b=6; print(a+b);Obtengo una salida 11. Pero quiero ejecutar un script como
var a=5; if(a>0) return true; else return false;Recibo errorStream como Declaración de devolución no válida Se esperaba eof pero se encontró } } ^
El método getInputStream de la clase ProcessBuilder le brinda una secuencia desde la cual puede leer bytes. Tienes que convertir los bytes a String y luego analizarlos a boolean.