【发布时间】:2020-08-04 05:35:54
【问题描述】:
我有一个文件传输应用程序,它通过套接字连接将大文件(大小为几 GB)从 Android 发送到 Windows。我正在使用内容解析器将输入流实例获取到存储在手机中的文件,但我希望能够在输入流上来回搜索,以使文件传输通过数据报通道更有效。有没有办法做到这一点?
int ack, len;
Context context = getApplicationContext();
ContentResolver cr = context.getContentResolver();
InputStream is = cr.openInputStream(fileUri);
while ((len = is.read(bufr, 0, BUFFER_SIZE)) > 0) {
ack = sendDatagramPacket(bufr, 0, len);
}
【问题讨论】:
-
Int len 可能不等于 BUFFER_SIZE。因此缓冲区可能没有被完全填满。试试看:
ack = sendDatagramPacket(bufr, 0, len); -
谢谢,我写了这个sn-p的代码来简化实际的代码。我现在包含了您的编辑。
标签: java android socket.io inputstream