gpt4 book ai didi

java - 在检查另一个 BufferedReader 之前,如何打印一个 BufferedReader 中可用的每一行?

转载 作者:行者123 更新时间:2023-12-01 13:12:38 28 4
gpt4 key购买 nike

        PrintWriter out = new PrintWriter(DoDSocket.getOutputStream(), true);

BufferedReader in = new BufferedReader(new InputStreamReader(DoDSocket.getInputStream()));

BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));

String fromServer;
String fromUser;

while ((fromServer = in.readLine()) != null)
{

System.out.println(fromServer);

if ((fromUser= stdIn.readLine()) != null)
{
//System.out.println(fromUser);
out.println(fromUser);
}
}

在客户端的这段代码中,我创建了一个打印写入器和一个与服务器通信的缓冲读取器,我还有一个单独的读取器,它从命令行读取 System.in。

我目前的问题是,如果服务器向客户端发送多行字符串,我将必须按 Enter 才能接收每一行。如何编辑此代码,以便在检查用户输入的内容之前从服务器的缓冲读取器打印每一行,而不是在每一行之后进行检查?

最佳答案

为什么不一个接一个地循环呢?:

PrintWriter out = new PrintWriter(DoDSocket.getOutputStream(), true);

BufferedReader in = new BufferedReader(new InputStreamReader(DoDSocket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));

String fromServer;
String fromUser;

while ((fromServer = in.readLine()) != null)
{
System.out.println(fromServer);
}

while ((fromUser = stdIn.readLine()) != null)
{
System.out.println(fromUser);
}

关于java - 在检查另一个 BufferedReader 之前,如何打印一个 BufferedReader 中可用的每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22734605/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com