我正在制作一个简单的TCP/IP套接字应用
这样做之间有什么不同:
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
byte[] buffer = new byte[100];
in.readFully(buffer);
与这样做:
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
byte[] buffer = new byte[100];
in.read(buffer);
我看了看文档,它们具有完全相同的描述。
readFully()
和 read()
那我可以假设它是同一件事吗?
最佳答案
DataInput.readFully(byte[] b)
的Javadoc指出:
DataInputStream.read(byte[] b)
的Javadoc指出:
基本上,readFully()
会精确地读取b.length
字节,而read()
最多可以读取b.length
,也许更少,无论输入流中有什么可用。
关于java - DataInputStream.read()与DataInputStream.readFully(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25897627/