我正在通过套接字写入文件/大量字节。
但假设我在写字节。我这样做;
//Connection.data is a dataoutputstream
byte[] a = new byte[filelength];
//load file into the array
//write file
for (int i = 0; i < a.length; i++) {
Connection.data.writeByte(a[i]);
}
接收:
//dat is a datainputstream
byte[] byteA = new byte[bytestoread]
for (int i = 0; i < toread; i++) {
byteA[i] = dat.readByte();
}
我会记录传入的数据,比如说,如果文件是200000字节,它会在199990字节左右停止。基本上,字节[]的任何大小,它都会在最后一个字节处停止,然后超时。如果你不理解,我会解释更多。谢谢
完成写入后,需要调用flush
以确保实际发送字节。
Connection.data.flush();
来自文件:
刷新此数据输出流。这将强制任何缓冲的输出字节以写入流。
DataOutputStream的flush方法调用其底层输出流的flush方法。