我正在通过套接字写入文件/大量字节。
但假设我在写字节。我这样做;
//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字节左右,基本上,任何大小的字节[],它会停在最后一个字节,然后超时。如果你不明白,我会解释得更多。谢谢。
1条答案
按热度按时间wsxa1bj11#
写完后你需要打电话
flush
以确保实际发送字节。根据文件:
刷新此数据输出流。这将强制将任何缓冲输出字节写入流。
dataoutputstream的flush方法调用其底层输出流的flush方法。