У меня проблемы с настройкой механизма межпроцессного взаимодействия между моим основным Java приложением и Python «вспомогательным» скриптом. С фрагментом Java я пропустил контекстный код и инициализацию. Фрагмент Java, который имеет дело с процессом, а stdin и stdout работает в отдельном потоке.
Если бы я запустил это, ничего не было бы напечатано в моем приложении Java. Если бы я сделал сценарий Python нерекурсивным (удалив внутренний вызов readInput ()), мое приложение Java напечатало бы «test only!» Один раз.
Примечание: просто запустите python Процесс снова и снова решит мою проблему. Инициализация моего Python скрипта занимает много времени, что означает, что я хочу, чтобы он загружался один раз, а не для каждой итерации l oop.
My * Сценарий 1022 * выглядит следующим образом:
import sys
def readInput():
line = sys.stdin.readline()
line.rstrip('\n')
if("test" in line):
print("Test too!")
readInput()
readInput()
Фрагмент Java, который связывается с этим, находится внутри некоторого времени l oop и выглядит следующим образом
printWriter.println("test");
printWriter.flush();
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println("Line: " + line);
}