Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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
需要使用java线程下载文件部件的帮助吗_Java_Http_Download_Range_Random Access - Fatal编程技术网

需要使用java线程下载文件部件的帮助吗

需要使用java线程下载文件部件的帮助吗,java,http,download,range,random-access,Java,Http,Download,Range,Random Access,我正在尝试从服务器下载一个文件,该文件包含用户指定数量的部分(n)。因此,有一个x字节的文件被分成n个部分,每个部分同时下载整个文件的一部分。我正在使用线程来实现这一点,但我以前没有使用过http,也不了解下载文件的真正工作原理。我已经读过了,似乎需要使用“范围”,但我不知道如何下载不同的部分,并能够在不破坏数据的情况下附加它们 (因为这是家庭作业,我只给你一个提示) 附加到单个文件对您毫无帮助,因为这会弄乱数据。你有两个选择: 从每个线程下载到一个单独的临时文件,然后按正确的顺序合并临时文件

我正在尝试从服务器下载一个文件,该文件包含用户指定数量的部分(n)。因此,有一个x字节的文件被分成n个部分,每个部分同时下载整个文件的一部分。我正在使用线程来实现这一点,但我以前没有使用过http,也不了解下载文件的真正工作原理。我已经读过了,似乎需要使用“范围”,但我不知道如何下载不同的部分,并能够在不破坏数据的情况下附加它们

(因为这是家庭作业,我只给你一个提示)

附加到单个文件对您毫无帮助,因为这会弄乱数据。你有两个选择:

  • 从每个线程下载到一个单独的临时文件,然后按正确的顺序合并临时文件以创建最终文件。这可能更容易想象,但却是一种相当丑陋和低效的方法

  • 不要拘泥于通常的流样式语义-使用随机访问(,)将每个线程中的数据直接写入输出文件中的正确位置


你在生活中见过这样的工具吗,它可以让你通过http
http
下载一个文件?这是一个家庭作业,我找不到任何信息来帮助你找到答案。因此,使用更有效的方法,每个部分都会同时复制文件的位,就像使用torrent一样?我一直在使用HttpConnection对象来连接URL,那么我将使用什么对象类型来进行这种随机访问呢?这是我需要的最后一点信息。我没有网络编程的经验。谢谢again@user1205853:看一下我答案中的两个链接。顺便说一句,随机文件访问是相当基本的-它与web编程没有多大关系。。。