dataOutputStream.readFully

时间:2016-04-24 15:00:51

标签: java android dataoutputstream

我正在使用dataInputStream.readFully接收文件,所以 我想展示传播的进展。 是否有可能知道readFully方法的进展? 谢谢。

1 个答案:

答案 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一样,但循环中有进度指示。