Я называю внешний сценарий Python как процесс Java и хочу отправить данные на него. Я создаю процесс и пытаюсь отправить строку. Позже скрипт python должен дождаться нового ввода от Java, поработать с этими данными и снова ждать (пока истинно l oop).
Python Код (test.py):
input = input("")
print("Data: " + input)
Java Код:
Process p = Runtime.getRuntime().exec("py ./scripts/test.py");
BufferedWriter out = new BufferedWriter(new
OutputStreamWriter(p.getOutputStream()));
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
System.out.println("Output:");
String s = null;
out.write("testdata");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
Процесс и вывод простых отпечатков работает, но не с input
и BufferedWriter
. Можно ли отправить данные на этот python вход с помощью Java процесса?
Я читаю из других решений:
- создаю Python слушатель и отправляю сообщения этому сценарию
- импортируем внешний сценарий в Jython и передаем данные
Это лучшие решения для решения моей проблемы?