StreamReade.peek读取到一般退的问题
<P>大家帮忙看看:<BR> Dim objClient As New System.Net.Sockets.TcpClient<BR> objClient.Connect("10.10.0.216", 8888)</P><P> Dim objStream As System.Net.Sockets.NetworkStream<BR> objStream = objClient.GetStream()</P>
<P> Dim objWriter As System.IO.StreamWriter = New System.IO.StreamWriter(objStream, System.Text.Encoding.Default)<BR> objWriter.Write(TextBox1.Text)<BR> objWriter.Flush()</P>
<P> Dim objReader As System.IO.StreamReader<BR> objReader = New System.IO.StreamReader(objStream, System.Text.Encoding.Default)</P>
<P> Dim strRev As String</P>
<P> Dim i As Integer = 1</P>
<P> While objReader.Peek() > -1<BR> ListBox2.Items.Add(objReader.Peek() & "/" & i)<BR> strRev = objReader.ReadLine().ToString<BR> ListBox2.Items.Add(strRev)<BR> If Trim(strRev) = "</TX_INFO>" Then Exit While<BR> i += 1<BR> End While<BR> ListBox2.Items.Add(objReader.Read())<BR> ListBox2.Items.Add("</TX>")<BR> Me.Refresh()<BR> Me.ListBox2.SetSelected(ListBox2.Items.Count - 1, True)</P>
<P> objReader.Close()<BR> objStream.Close()<BR> objClient.Close()</P>
<P>其中的 While objReader.Peek() > -1<BR> ListBox2.Items.Add(objReader.Peek() & "/" & i)<BR> strRev = objReader.ReadLine().ToString<BR> ListBox2.Items.Add(strRev)<BR> If Trim(strRev) = "</TX_INFO>" Then Exit While<BR> i += 1<BR> End While<BR>在数据流读取到一半时会退出(objReader.Peek() =-1),而用While objReader.Read() > -1则可以全部读出来,但Read会移动位置,读出来的每行数据流前面会少了2个字节。这是为什么啊?在线等,谢谢了! </P>
页:
[1]
