저는 비디오 게임과 같은 프로그램을 Java에서 실행하고 Java에서 모든 작업을 출력하려고합니다. 가능한가요? 모든 것을 명확히하기 위해, 나는 그것이하는 일의 관점에서 게임의 결과를보고 싶다. 다른 프로그램 언어로되어 있기 때문에 완전히 이해할 수 없을 수도 있습니다. 여기에있는 누군가는 코드에 대한 게임을 해킹하기 위해 gameshark/gamegenie를 사용하는 것을 기억합니까? 그것은 내가하고 싶은 일종입니다.java에서 프로그램을 실행하면 수행중인 작업을 읽습니다.
지금까지 런타임 및 프로세스 작성기를 사용해 보았지만 아무것도 출력하지 않았습니다. 콘솔에 게임 인쇄 뭔가 자바없이 시작할 때 경우 문제가 버퍼링,
public class ProcessW {
public static void main(String[] args) throws IOException {
String command = "...my game...";
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process proc = pb.start();
java.io.InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
int exit = -1;
while ((line = br.readLine()) != null) {
// Outputs your process execution
System.out.println(line);
try {
exit = proc.exitValue();
if (exit == 0) {
// WinProcess finished
}
} catch (IllegalThreadStateException t) {
// The process has not yet finished.
// Should we stop it?
//if (processMustStop())
// processMustStop can return true
// after time out, for example.
proc.destroy();
}
}
}
}
오타 또는 command가 실제로 빈 문자열입니까? 당신의 프로그램은 무엇을 시작할 것으로 예상합니까? – Raffaele
버퍼링 프로세스 출력없이 시도하십시오. –
'output everything'을 정의하십시오. Asm 지시 사항? 메모리가로드됩니까? JVM 명령어? – SJuan76