2013-04-11 2 views
0

Process 클래스를 사용하여 scala 인스턴스를 실행해야하는 프로젝트에서 작업하고 있습니다. 이렇게하려면 다음 코드를 실행합니다.Java : 스칼라 출력 스트림에 쓰기

Process process = RunTime.getRunTime().exec("<path to scala binary> <scala file>"); 

이 호출은 실행중인 스칼라 프로그램의 프로세스를 제공합니다. 나는 사용하여 프로세스의 입력을 프로세스의 입력 스트림을 액세스하고받을 수 있어요 :

BufferedReader stdin = new BufferedReader(new InputStreamReader(process.getInputStream())); 
stdin.readLine(); 

내가 실행하려고 스칼라 프로그램은 입력을 집어 들고 그것을 밖으로 인쇄 검사기를 포함한다. 내가 process.getOutputStream()에서 생성 된의 OutputStreamWriter를 BufferedWriter의 등록 및하려고 할 때 다음에 그 스트림에 쓰기 : 스칼라 프로그램이 입력을받지 않습니다

stdout.write("Hello"); 

, 나는 궁금 : 왜 이것이 발생합니까?

+1

입력을 플러시하고 있습니까 ('stdout.flush()')? –

+0

그게 문제 였어, 고마워! –

답변

2

나가서 스트림을 플러시하는 걸 잊었습니다.

관련 문제