在使用Java请求输入时打印时Windows控制台中断

时间:2015-10-07 21:10:25

标签: java windows input console

我通过用Java编写一个小型聊天室程序来尝试网络。因为它是聊天室,所以控制台不断要求用户输入。我的问题是,在仍然要求输入的同时从服务器中的另一个人打印消息后,控制台停止显示我键入的内容。但是,仍然会收集输入,因此用户仍然可以输入消息。没有视觉反馈。我尝试了三种不同的输入方法,BufferedReader(我目前仍在使用),扫描仪和系统控制台。他们都有同样的问题,这让我相信它是Windows控制台。我的问题是,是否可以避免这种情况,或者它只是Windows控制台的缺陷?这是我的代码,输入是BufferedReader:

    // This runs until the console is closed
    while(true)
    {
        // If the user has input something, send it to the server
        if(input.ready())
        {
            String message = input.readLine();
            if(!message.equals(""))
            {
                client.sendString(message);
            }
        }

        // If the server has a message for the client, print it
        if(client.input.available() > 0)
        {
            System.out.println(client.getString());
        }
    }

0 个答案:

没有答案