缓冲区中的读取行 reader

Readline in buffer reader

我使用 readline() 方法读取缓冲区的第一行 reader 然后,在检查第一行中的内容后,我想将缓冲区 reader 发送到函数中,而不丢失第一行, 据我了解,readline() 方法,查找缓冲区 reader 的第一行, 我该如何扭转它?

BufferedReader bufferedReader = new BufferedReader(serverinput);
String onelineofinput = bufferedReader.readLine();
if(onelineofinput...)
...
  then
  sendpackets(IPaddress, port, bufferedReader, connection);
  //bufferedreader should send completely here.

您可以在 BufferedReader 和输入之间创建一个 java.io.PushbackReader

检查完第一行后,将其推回到 PushbackReader(以及被 BufferedReader 吞没的换行符),然后将 PushbackReader 传递给sendpackets.

PushbackReader pbreader = new PushbackReader (serverinput);
BufferedReader bufferedReader = new BufferedReader(pbreader);
String onelineofinput = bufferedReader.readLine();
if (onelineofinput...) {
    pbreader.unread(onelineofinput.toCharArray());
    pbreader.unread('\n');
    sendpackets(IPaddress, port, new BufferedReader(pbreader), connection);
}