我正在使用dataInputStream.readFully接收文件,所以 我想展示传播的进展。 是否有可能知道readFully方法的进展? 谢谢。
答案 0 :(得分:1)
不 - 重点是,只需一次通话即可使阅读更简单。
如果您想逐渐阅读(例如更新进度条),您只需在循环中使用InputStream.read(byte[], int, int)
一次读取一个块,直到您已读取所有数据。例如:
byte[] data = new byte[bytesToRead];
int offset = 0;
int bytesRead;
while ((bytesRead = stream.read(data, offset, data.length - offset)) > -1) {
offset += bytesRead;
// Update progress indicator
}
这就像JDK 8 code for readFully
一样,但循环中有进度指示。