压缩包下载的方法、装置、计算机设备及计算机可读存储介质制造方法及图纸

技术编号:37053175 阅读:9 留言:0更新日期:2023-03-29 19:30
一种压缩包下载方法,包括:客户端根据下载地址建立网络连接并获取输入流;输入流按节点下载压缩包并将下载的节点压缩包传输至解压流;解压流解压节点压缩包;按节点类型将解压后的节点文件存储在客户端;节点类型包括文件和文件夹。本申请实施例下载节点压缩包的同时并行解压压缩文件,并将解压后的节点文件存储在客户端,耗时短,节省了解压的时间,下载效率高;同时客户端不会生成压缩包,节省了存储空间。空间。空间。

【技术实现步骤摘要】
http内容大小获取方法获取解压前所述压缩包的总文件大小。
[0011]优选地,上述获取当前存储在所述客户端的所述节点文件解压前的下载文件大小具体为:用GetCompressedSize获取压缩大小的方法获取获取当前存储在所述客户端的所述节点文件解压前的下载文件大小。
[0012]第二方面,本申请实施例提供了一种压缩包下载装置,包括:连接模块,用于客户端根据下载地址建立网络连接并获取输入流;下载模块,用于所述输入流按节点下载压缩包并将下载的节点压缩包传输至解压流;解压模块,用于所述解压流解压所述节点压缩包;存储模块,用于按节点类型将解压后的节点文件存储在所述客户端;所述节点类型包括文件和文件夹。
[0013]第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的压缩包下载方法的步骤。
[0014]第四方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上所述的压缩包下载方法的步骤。
[0015]本申请实施例的输入流按节点下载压缩包并将下载的节点压缩包传输至解压流,一个压缩包通常包括多个节点,本申请实施例输入流按节点依次下载压缩包,下载节点压缩包后及时传输至解压流,在输入流下载其他节点压缩包的同时,解压流解压接收到的节点压缩包,并按节点类型将解压后的节点文件存储在客户端,直至整个压缩包的所有节点压缩包都解压存储在客户端内。
[0016]本申请实施例下载节点压缩包的同时并行解压压缩文件,并将解压后的节点文件存储在客户端,不需要如现有技术那样下载完整个压缩包后再解压文件,耗时短,节省了解压的时间,下载效率高;同时客户端不会生成压缩包,节省了存储空间。
附图说明
[0017]图1是本申请一实施例提供的压缩包下载方法的流程图;图2是本申请一实施例提供的压缩包下载方法的按节点类型将解压后的节点文件存储在客户端的流程图;图3是本申请一实施例提供的压缩包下载装置的结构示意图;图4是本申请一实施例提供的计算机设备的具体结构框图。
具体实施方式
[0018]为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0019]为了说明本申请的技术方案,下面通过具体实施例来进行说明。
[0020]为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申
请,并不用于限定本申请。
[0021]为了说明本申请的技术方案,下面通过具体实施例来进行说明。
[0022]请参阅图1,是本申请一实施例提供的压缩包下载方法的流程图,本申请实施例提供了一种压缩包下载方法,包括:S101、客户端根据下载地址建立网络连接并获取输入流;S102、输入流按节点下载压缩包并将下载的节点压缩包传输至解压流;S103、解压流解压节点压缩包;S104、按节点类型将解压后的节点文件存储在客户端;具体地,节点类型包括文件和文件夹。
[0023]本申请实施例的输入流按节点下载压缩包并将下载的节点压缩包传输至解压流,一个压缩包通常包括多个节点,本申请实施例输入流按节点依次下载压缩包,下载节点压缩包后及时传输至解压流,在输入流下载其他节点压缩包的同时,解压流解压接收到的节点压缩包,并按节点类型将解压后的节点文件存储在客户端,直至整个压缩包的所有节点压缩包都解压存储在客户端内。
[0024]本申请实施例下载节点压缩包的同时并行解压压缩文件,并将解压后的节点文件存储在客户端,不需要如现有技术那样下载完整个压缩包后再解压文件,耗时短,节省了解压的时间,下载效率高;同时客户端不会生成压缩包,节省了存储空间。
[0025]较佳地,客户端根据下载地址建立网络连接并获取输入流具体为:客户端根据下载地址用HttpURLConnection方法建立网络连接并获取InputStream输入流。
[0026]即在Android系统中,客户端根据下载地址用HttpURLConnection方法建立网络连接并获取InputStream输入流;当然,在Android系统或其他系统中也可以使用现有技术的其他方法建立网络连接,InputStream输入流即为下载压缩包的下载流。
[0027]较佳地,输入流按节点下载压缩包并将下载的节点压缩包传输至解压流具体为:InputStream输入流按节点下载Zip压缩包并将下载的Zip节点压缩包传输至ZipInputStream解压流。压缩包可以是Zip压缩包,当然也可以是现有技术的其他格式的压缩包。当压缩包是Zip压缩包时,对应地,解压流为ZipInputStream解压流,由ZipInputStream解压流负责对Zip节点压缩包进行解压。及时将InputStream输入流下载的节点Zip压缩包传输给ZipInputStream解压流进行解压,进而实现下载解压并行操作。
[0028]请参阅图2,是本申请一实施例提供的压缩包下载方法的按节点类型将解压后的节点文件存储在客户端的流程图,本申请一实施例提供的压缩包下载方法的按节点类型将解压后的节点文件存储在客户端,包括以下步骤:S201、判断当前ZipInputStream解压流里的节点的类型:如果是文件,执行步骤S202;如果是文件夹,执行步骤S203;S202、获取节点的名称,并以节点名称为文件名创建文件,解压后的节点文件存储至新创建的文件中;S203、获取节点的名称,并以节点名称为文件夹名称创建文件夹,解压后的节点文件存储至新创建的文件夹中。
[0029]一个压缩包通常包括多个节点,本申请实施例是按节点依次下载压缩包,节点的类型包括文件和文件夹。本申请实施例的ZipInputStream解压流解压Zip节点压缩包后,判
断当前ZipInputStream解压流里的节点的类型,如果是文件则直接获取节点的名称,并以节点名称为文件名创建文件,解压后的节点文件存储至新创建的文件中;如果是文件夹则直接获取节点的名称,并以节点名称为文件夹名称创建文件夹,解压后的节点文件存储至新创建的文件夹中。即本申请实施例的ZipInputStream解压流解压Zip节点压缩包后直接按节点类型将解压后的节点文件存储在客户端,这样客户端不会生成压缩包,节省了存储空间。
[0030]较佳地,按节点类型将解压后的节点文件存储在客户端的步骤之后还包括:获取解压前压缩包的总文件大小;获取当前存储在客户端的节点文件解压前的下载文件大小;累加存储在客户端的各节点文件解压前的下载文件大小、获得累计下载文件大小;累计下载文件大小除以总文件大小获得下载进度。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种压缩包下载方法,其特征在于,包括:客户端根据下载地址建立网络连接并获取输入流;所述输入流按节点下载压缩包并将下载的节点压缩包传输至解压流;所述解压流解压所述节点压缩包;按节点类型将解压后的节点文件存储在所述客户端;所述节点类型包括文件和文件夹。2.如权利要求1所述的压缩包下载方法,其特征在于,所述客户端根据下载地址建立网络连接并获取输入流具体为:所述客户端根据下载地址用HttpURLConnection方法建立网络连接并获取InputStream输入流。3.如权利要求2所述的压缩包下载方法,其特征在于,所述输入流按节点下载压缩包并将下载的节点压缩包传输至解压流具体为:所述InputStream输入流按节点下载Zip压缩包并将下载的Zip节点压缩包传输至ZipInputStream解压流。4.如权利要求3所述的压缩包下载方法,其特征在于,所述按节点类型将解压后的节点文件存储在所述客户端具体为:判断当前所述ZipInputStream解压流里的所述节点的类型:如果是文件,获取所述节点的名称,并以所述节点名称为文件名创建文件,解压后的节点文件存储至新创建的所述文件中;如果是文件夹,获取所述节点的名称,并以所述节点名称为文件夹名称创建文件夹,解压后的节点文件存储至新创建的所述文件夹中。5.如权利要求4所述的压缩包下载方法,其特征在于,所述按节点类型将解压后的节点文件存储在所述客户端的步骤之后还包括:获取解压前所述压缩包的总文件大小;获取当前存储在所述客户端的所述节点文件解压前的下载文件大小;累加存储在所...

【专利技术属性】
技术研发人员:梁建勋
申请(专利权)人:深圳依时货拉拉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1