Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HttpURLConnection java范围_Java_Range_Httpurlconnection - Fatal编程技术网

HttpURLConnection java范围

HttpURLConnection java范围,java,range,httpurlconnection,Java,Range,Httpurlconnection,我使用Java中的“HttpURLConnection”和“Range”属性下载一段文件,设置范围60000-560000,我可以读取500000字节的数据,即560000-60000。但是当范围为0-60000时,我可以读取60001字节的数据,这并不等于60000-0 为什么??有人能给我解释一下吗?这是正确的行为。范围的两个边界都包含在内。发件人: 字节范围规范中的第一个字节pos值给出字节偏移量 范围中第一个字节的。最后一个字节的pos值给出 范围内最后一个字节的字节偏移量;即字节 指定

我使用Java中的“
HttpURLConnection
”和“
Range
”属性下载一段文件,设置范围
60000-560000
,我可以读取
500000
字节的数据,即
560000-60000
。但是当范围为
0-60000
时,我可以读取60001字节的数据,这并不等于
60000-0


为什么??有人能给我解释一下吗?

这是正确的行为。范围的两个边界都包含在内。发件人:

字节范围规范中的第一个字节pos值给出字节偏移量 范围中第一个字节的。最后一个字节的pos值给出 范围内最后一个字节的字节偏移量;即字节 指定的职位包括在内。字节偏移量从零开始

字节范围说明符值的示例:

o前500个字节(字节偏移量0-499,含):

o第二个500字节(字节偏移量500-999,含):


它可能取决于服务器。不同的服务器处理字节范围请求的方式不同。有些根本无法处理。您能否从响应中获取标题,让我们知道您使用的是哪台服务器。实际上,通过查看规范的示例,0-60000应该可以为您提供60001字节。您应该能够用其他范围读取500001字节。所以你的问题实际上是颠倒的。
   bytes=0-499
   bytes=500-999