有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中刷新outputscreen并同时获取输入

嗨,我要写一个程序来启动多个minecraft服务器: 如果键入“启动服务器名”,它将启动此服务器。 如果您键入“watch servername”,程序将显示此服务器的输出,您应该能够同时发送命令(到此服务器),直到您键入类似“exit”的内容。问题是我不知道如何刷新outputscreen并同时从键盘获取输入。 以下是我在server类中的代码:

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;
    }
}
}

我希望你能帮助我。 问候语, 费边


共 (1) 个答案

  1. # 1 楼答案

    服务器控制台应显示在单独的终端和客户端控制台中,用户可以在其中键入命令。 与mysql等任何服务器类似,mysql都有一个日志,其中显示服务器输出。mysql客户端命令,其中用户键入其sql命令。 或者将监视输出重定向到文件,然后键入下一个命令