您好我即将编写一个启动多个Minecraft服务器的程序: 如果您键入' start servername',它将启动此服务器。 如果您键入' watch servername',程序将显示此服务器的输出,您应该能够同时发送命令(到此服务器),直到您输入某个命令为止。喜欢'退出'问题是我不知道如何刷新输出屏幕并同时从键盘输入。 这是我的服务器类代码:
class Server{
private String name;
private StartCommand command;
private boolean on = false;
private Process p = null;
public Server(StartCommand c, String name){
this.command = c;
this.name = name;
}
public void start(){
try {
p = Runtime.getRuntime().exec(command.getCommand());
System.out.println("Server: " + name + " is on now!");
on = true;
} catch (IOException e) {
e.printStackTrace();
on = false;
}
}
public void watch(){
try{
Scanner sc = new Scanner(System.in);
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();
on = false;
}
}
}
我希望你能帮助我。 问候, 费边
答案 0 :(得分:0)
服务器控制台应显示在单独的终端和客户端控制台中,用户可以在其中键入命令。 类似于任何服务器,例如mysql都有一个显示服务器输出的日志。 mysql客户端命令,用户在其sql命令中键入。 或者将监视输出重定向到文件,然后键入下一个命令。