我正尝试读取大量的数据(消息),我从服务器获取的数据(我没有)。我正在使用BufferedReader对象,函数readLine()是因为我收到的消息包含换行符(\ n)。如何在处理海量数据时使用BufferedReader
- 我有一个线程读取消息并将消息保存到消息框中。
- 我有轮询从消息框中的消息(我有 线程同步)第二线程
这是第一个线程的代码的一部分:
while(!isInterrupted())
{
if((line = input_reader.readLine()) != null)
{
Util.offer_message(message_box, line);
}
}
我已被告知由一位支持程序员(他在拥有服务器的公司工作)使用readLine()从套接字读取消息,使我经常丢失数据。
无论如何,我无法真正验证我是否会丢失数据(因为我没有拥有服务器)。
所以我的问题是:
- 是关于经常丢失,因为数据的海量数据的程序员吗?
- 如果他这样做,那我该如何处理呢?我应该使用像read(char cbuf [],int off,int len)函数然后分离消息吗?
如果需要了解我的问题,我可以提供一些更多的细节。
Thx帮助。
[tag:datainputstream]与此无关,但[tag:bufferedreader]的确如此。 – EJP
@ close-voter太宽?离开它。这是一个非常具体的问题。 – EJP