자바에 해당하는 pexpect가 있습니까? 나는 commons exec 또는 processbuilder를 사용하고 stdin/stdout를 리다이렉션하고 스트림을 파싱하는 등의 기능을 복제 할 수 있다는 것을 알고있다. 그러나 나의 질문은 거기에 플러그 앤 플레이가 있는가하는 것이다.Pexpect와 Java가 동일합니까?
내가 원하는 것은 파이썬에서와 같이 대화식 명령 줄 프로그램을 실행하는 것입니다.
def start_binary(input):
shell_cmd = 'grep '+input+' file4.dat >> file3.dat'
grep = pexpect.spawn('/bin/bash', ['-c', shell_cmd])
grep.expect(pexpect.EOF)
shell_cmd = './myProg -c'
myProg = pexpect.spawn('/bin/bash', ['-c', shell_cmd])
myProg.expect('Next DATA file')
file_list = ['file1.dat', 'file2.dat', 'file3.dat']
for this_file in file_list:
myProg.sendline(this_file)
myProg.sendline()
return myProg
그리고 나는 (등, 결과를 분석 /지고, 명령을 보내는) 대화 형 방식으로 MYPROG를 사용 작은 예입니다. myProg.before 등을 통해 두 번의 호출간에 결과를 얻을 수 있습니다.
Java에서 동일한 기능을 제공하는 패키지가 있습니까?
아마도 원시 코드가없는 것은 아닙니다. Java의 하위 프로세스 처리는 매우 약합니다. –