java - dataOutputStream.readFully 的进度

标签 java android dataoutputstream

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

最佳答案

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

如果您想逐渐阅读更多内容(例如更新进度条),您可以在循环中使用 InputStream.read(byte[], int, int) 一次读取一个 block 直到你读完所有数据。例如:

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 ,但在循环中有进度指示。

关于java - dataOutputStream.readFully 的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824799/

相关文章:

java - Android studio 中的 Android 注解 - 无法访问 Activity_?

java - 读取/写入带有字符串的二进制文件?

java - java Socket编程中从服务器发送文件列表到客户端 - PrintWriter无法发送?

java - eclipse 中的 "The package java.sql is not accessible."

Java 可以只将输入/输出放在主方法中吗?

java - 如何从 servlet 内初始化 hibernate session ?

java - 在 Java 中将 .dat 文件读入数组

java - orphanRemoval=true 在 JPA 2.0 中如何工作

android - 如何从 MySQL 到 ROOM 实现 SUM()、DAY()、MONTH() 和 YEAR()

java - 使用来自在线的 Java 类列表填充 Spinner