java - HTTPUrlConnection 检查服务器是否支持恢复

标签 java android

当使用 HTTPUrlConnection 下载文件时,有没有办法在尝试恢复文件下载之前检查服务器是否支持恢复?

要么我做错了什么,要么服务器不支持简历,我该如何先检查?

 File file = new File(Environment.getExternalStorageDirectory()+"/dir/", filename );
                if (file.exists()) {
          crashes here--->          //c.setRequestProperty("Range", "Bytes="+(file.length())+"-");

                  Log.d("file already exists", filename);
                }
                c.setDoOutput(true);
                c.setDoInput(true);
                c.connect();

                f = new FileOutputStream(new File(PATH_op), true);//set true so if file exists it will append

洛格卡特

03-17 14:55:23.746: WARN/System.err(11196):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521)

我发现服务器是否支持恢复并且确实支持,我按照 Nuvaak 的建议通过检查 Accept-Range 响应发现了这一点。

最佳答案

我认为该行不会使您的程序崩溃,如果服务器不支持 Range header ,它只会忽略它。

对于这个问题,你可能需要发出一个额外的连接并检查响应头Accept-Ranges,如果它的值为bytes,你很幸运它支持Range 请求 header ,如果是none,则不要尝试。

关于java - HTTPUrlConnection 检查服务器是否支持恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9751045/

相关文章:

android - 您可以将合并标签与 fragment 一起使用吗?

java - Spring引导-设置PERL5LIB

java - 执行 jar 并将其输出重定向到文件时在控制台上打印 System.out.println 语句

安卓工作室 : Error while installing apk

java - 通过Charset确定特殊字符

android - 是否可以使用其他文件作为 map 而不是 Google Apis map ?

java - 从 jar 文件内启动 postgres docker 失败

java - 将 JsonNode 转换为对象

java - 如何使用java将4位儒略日期(yDDD)转换为日历日期格式,如MM/dd/yyy?

android - 安卓提示