所以我正在从 GUI 启动一个 Bukkit (Minecraft) 服务器。
ProcessBuilder builder = new ProcessBuilder();
builder.redirectErrorStream(true);
builder.command("java", "-jar", file.getAbsolutePath());
try {
p = builder.start();
input = new BufferedReader(new InputStreamReader(p.getInputStream()));
output = new DataOutputStream(p.getOutputStream());
} catch (IOException e) {
Logger.logError(e);
return;
}
没有错误,服务器本身正确启动。输入流也可以正常工作,因为我应该得到所有输入。现在,我有这种方法可以向服务器发送命令。
public void send(String message) {
try {
output.writeUTF(message + "\n");
output.flush();
} catch (IOException e) {
Logger.logError(e);
}
}
但由于某种原因,它不起作用。我不确定我是否错过了一步,或者正在查看某些内容等。任何帮助将不胜感激!