재미있는 작업으로 minecraft 서버를 설정하려고하는데, 더 쉽게 관리 할 수 있도록 제어판을 추가하고 싶습니다. 이 제어판의 일부는 패널에서 서버를 실행하여 이탈 버튼을 놓치지 않고 무엇을하지 않을지를 줄이는 것입니다. (minecraft 서버는 실행할 수없는 .jar 파일이며 명령 줄에서 실행하려면 .bat을 사용해야 함을 의미합니다) 내 프로그램 내에서 서버를 실행하는 방법과 출력을 출력하는 방법을 알고 있습니다. 여기에내 프로그램 내에서 minecraft 서버를 실행하십시오.
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "gscale.jar");
pb.redirectErrorStream(true);
pb.directory(new File("F:\\Documents and Settings\\Administrator\\Desktop"));
System.out.println("Directory: " + pb.directory().getAbsolutePath());
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
for (String line = br.readLine(); line != null; line = br.readLine()) {
System.out.println(line); // Or just ignore it
}
p.waitFor();
그러나이 방법으로 입력 방법을 구현하는 방법을 모르겠습니다. 예를 들어, 버튼을 클릭하면이 명령 패널없이 서버를 중지하기 위해 외부 병에 "stop"입력을 보냅니다. 어떻게 구현할 수 있을까요? 위의 코드는 자체 스레드로 실행하려고하지만 어쩌면 내가이 모든 것을 잘못하고있는 것입니까?
미리 감사드립니다.
이것은 아름답습니다! 고마워요 :) – PulsePanda