当前位置: 代码迷 >> java >> 我试图在Java线程中运行控制台输入,但是我的程序在readLine()方法上挂断了
  详细解决方案

我试图在Java线程中运行控制台输入,但是我的程序在readLine()方法上挂断了

热度:46   发布时间:2023-07-31 13:30:49.0

我正在创建此程序,以测试在聊天服务器程序的线程中获取用户输入。 该程序在read = into.readLine();停止read = into.readLine(); 为什么会这样?发生了什么?

这是代码:

    import java.io.*;
    import java.net.*;

    public class ThreadClass implements Runnable
    {
        DataInputStream in;
        private boolean checkLoop = false;


    public void run()
    {
        BufferedReader into = new BufferedReader(new        InputStreamReader(System.in));
        String read;
        System.out.println("Welcome...");
        while(!checkLoop)
        {
            try
            {
                System.out.println("running1");
                read = into.readLine();
                System.out.println(read);
                if(read.equals(".bye"))
                {
                    checkLoop = true;
                }
                Thread.sleep(500);
            }
            catch(IOException e)
            {
                System.out.println(e);System.out.println("running2");
            }
            catch (InterruptedException ie)
            {
                System.out.println(ie);System.out.println("running3");
            }
        }
        System.out.println("running4");
    }

    public static void main(String[]args)
    {
        ThreadClass main = new ThreadClass();
        Thread t1 = new Thread(main);
        t1.start();
    }

    }

当您使用“ read = into.readLine();”时 该程序将停止并等待用户按下“ Enter”键。 从我的角度来看,您的程序运行良好。

尝试在控制台中键入内容,您将看到程序正常运行。

  相关解决方案