Kri*_*son 8 java sockets java-io
我正在制作一个简单的TCP/IP套接字应用程序
这样做有什么不同:
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
byte[] buffer = new byte[100];
in.readFully(buffer);
Run Code Online (Sandbox Code Playgroud)
与这样做:
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
byte[] buffer = new byte[100];
in.read(buffer);
Run Code Online (Sandbox Code Playgroud)
我看了一下文档,他们有完全相同的描述.readFully()并且read()
因此我可以假设它是一回事吗?
Lol*_*olo 12
DataInput.readFully(byte[] b)状态的Javadoc :
从输入流中读取一些字节并将它们存储到缓冲区数组中
b.读取的字节数等于b.
DataInputStream.read(byte[] b)状态的Javadoc :
从包含的输入流中读取一些字节数并将它们存储到缓冲区数组中
b.实际读取的字节数以整数形式返回.此方法将阻塞,直到输入数据可用,检测到文件结尾或引发异常.
基本上,readFully()会读正好 b.length字节,而read()将读取可达 b.length,也许更少,不管是从输入流.
| 归档时间: |
|
| 查看次数: |
16064 次 |
| 最近记录: |