java读取网络数据流不完整的问题
2012-05-01 09:19
316 查看
在用java的socket读取网络数据流的时候,datainputstream read(byte [] b),数据读取不完整,例如有3W的数据,有可能读到2W时read就解除阻塞,这个问题纠结了好久,终于找到问题所在,并得以解决。
如下是jdk的API:
http://www.cjsdn.net/Doc/JDK60/java/io/DataInputStream.html#read(byte[], int,
int)
如下是这位码友对此问题的解读:
http://topic.csdn.net/u/20120316/11/ee58441d-4120-425e-9ed5-462b62733f6f.html
如下是众码友对此问题的解释以及解决方案
http://www.iteye.com/problems/54246
如下是我的解决方案:
int length=read.readInt(); byte [] data=new byte[length]; int nIdx = 0; int nReadLen = 0; while (nIdx < length) { nReadLen = read.read(data, nIdx, length - nIdx); if (nReadLen > 0) { nIdx = nIdx + nReadLen; } else { break; } }
相关文章推荐
- 网络编程:流式套接字应用数据完整包读取问题
- java中读取缓冲流时接受数据不完整的问题
- java InputStream读取数据问题
- 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)
- Java InputStream读取网络响应Response数据的方法!(重要)
- java读取access数据问题
- java InputStream读取数据问题
- java InputStream读取数据问题
- java InputStream读取数据问题(转)
- Java InputStream读取数据问题
- java InputStream读取数据问题
- Java使用jacob组件读取大量Excel数据,性能差的问题
- java InputStream读取数据问题
- java读取文件时在最后的缓冲区内存在多余数据的问题
- java InputStream读取数据问题
- C# 读取EXCEL文件出现数据丢失问题,数据不完整
- Java解析DBF文件,错误Failed to parse Number: For input string: "-.---" 或读取不出数据或乱码问题都在这里解决
- java InputStream读取数据问题
- java InputStream读取数据问题
- 解决InputStream中数据读取不完整问题