2016-03-03 50 views
2

我用readline()方法读取缓冲区读取器的第一行 然后,在检查第一行中的内容后,我想将缓冲读取器发送到函数中,而不会丢失第一行, 据我所知,readline()方法,寻求缓冲区读取器的第一行, 我应该如何反转它?Readline in buffer reader

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

不完全重复,因为OP没有具体询问mark()和reset()。 – wero

回答

1

您可以创建BufferedReader和输入之间的java.io.PushbackReader

您已检查你推回PushbackReader,然后通过PushbackReadersendpackets(也行这是由BufferedReader吞符)的第一行后。

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); 
} 
+0

但我想发送bufferreader给我的方法.. @wero – user122434

+0

@ user122434然后把它放到一个新的BufferedReader中,看看我的编辑。 – wero

+0

谢谢,但你为什么认为mark和reset不好用?@wero – user122434