dataOutputStream.readFully 的进度

Progress of dataOutputStream.readFully

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

不 - 重点是它是一个单一的调用,以使其更易于阅读。

如果您想逐渐阅读更多内容(例如更新进度条),您可以在循环中 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,但在循环中有进度指示。