问题描述
非图形界面程序:假如现在有两个线程a和b,假如a线程是用来接收其他网络socket请求的,一旦接收到其他客户端发来socket连接请求,就输出一句话System.out.println("connect");没接收到的时候就被阻塞着;而b线程是用来发送信息的我的问题是,当我正在b线程里输入一句话,正输到一半,还没敲回车的时候,a线程收到一个连接请求,输出的“connect”字符串正好接在我刚输入的内容后面,并且回车了,这时候我继续输入,虽然前后两段信息发送过去之后还是连着的,但是显示出来的效果很不美观,请问java输入输出流里能否提取我还没敲回车之前输入的内容,我想自己提取出来,在收到连接请求并且输出connect的同时立即把提取出来的内容接在connect之后,并且同时光标也停在那里如果没看懂,举例如下:classThreadAextendsThread{publicvoidrun(){ServerSocketserver=newServerSocket(5678);//建立服务器端的socketwhile(true){Socketsocket=server.accept();//没接到其他客户端发来的连接时,这个线程就阻塞在这里System.out.println("connect");//接到连接请求时,输出connect并回车}}}classThreadBextendsThread{publicvoidrun(){BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringstr=br.readLine();.....//发送的部分我就不写了。另外为了简便起见,try-catch部分我也省略了}}