IO 용으로 명령 행을 사용하는 C++ 프로그램이 있습니다. C++을 모르거나 프로그램의 소스 코드를 가지고 있지 않습니다. 내 Java 응용 프로그램에서 C++ 프로그램을 열고, 일부 입력을 제공하고 C++ 코드에서 결과를 수집하려고합니다. 방법이 있습니까?java가 C++ 프로그램과 통신하도록하십시오.
업데이트 : 런타임시 입력을 입력해야합니다.
IO 용으로 명령 행을 사용하는 C++ 프로그램이 있습니다. C++을 모르거나 프로그램의 소스 코드를 가지고 있지 않습니다. 내 Java 응용 프로그램에서 C++ 프로그램을 열고, 일부 입력을 제공하고 C++ 코드에서 결과를 수집하려고합니다. 방법이 있습니까?java가 C++ 프로그램과 통신하도록하십시오.
업데이트 : 런타임시 입력을 입력해야합니다.
당신은 예를 들어 java.lang.Runtime
를 사용할 수 있습니다
public class TestRuntime {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("test.bat");
// test.bat or test.sh in linux is script with command to run (c++) program
// or direct path to application's exec
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
또한, 당신은 this topic에서 런타임 및 ProcessBuilder를 차이에 대해 읽을 수 있습니다.
프로그램을 열면 문제가 발생하지 않습니다. 입력을 제공하는 것은 입력이 실행 인수 또는 표준 입력에서 읽히는 지 여부에 따라 다릅니다. 파일 또는 표준 출력에 쓰여지는지 여부는 읽기 출력에 따라 다릅니다. 구체적인 해결책을 위해, 탄원은 세부 사항을 더 제공합니다. – Krever
당신은'ProcessBuilder'와 관련된 클래스들을 찾고 있습니다. – immibis
@Krever 프로그램의 다운로드 작업에 대한 링크를 제공합니까? – dark32