1

Android:我正在使用以下方法从 Internet 下载文件:

InputStream in = null;
try {
    in = connection.getInputStream();
} catch (IOException e) {
    e.printStackTrace();
}
byte[] buffer = new byte[1024];
int length = 0;
try {
    while ((length = in.read(buffer)) != -1) {
        try {
            fout.write(buffer, 0, length);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
} catch (IOException e) {
    e.printStackTrace();
}
try {
    fout.close();
} catch (IOException e) {
    e.printStackTrace();
}
try {
    in.close();
} catch (IOException e) {
    e.printStackTrace();
}

问题是当网络关闭时,read inoutstream 在某些设备上停止读取,但在其他设备上继续读取!如何解决这个问题呢?提前致谢。

编辑: 我找到了解决方案,我必须设置连接的超时。

4

1 回答 1

1

建立连接时,将其放入 atry-catch以了解建立连接是否失败。catch在块中处理您的问题。我不完全知道您是如何建立连接的,因此无法进一步建议。

于 2012-08-22T14:51:46.477 回答