CN110704072A - 基于操作系统进行文件解压缩的装置、方法及存储介质 - Google Patents
基于操作系统进行文件解压缩的装置、方法及存储介质 Download PDFInfo
- Publication number
- CN110704072A CN110704072A CN201910821089.0A CN201910821089A CN110704072A CN 110704072 A CN110704072 A CN 110704072A CN 201910821089 A CN201910821089 A CN 201910821089A CN 110704072 A CN110704072 A CN 110704072A
- Authority
- CN
- China
- Prior art keywords
- decompression
- operating system
- toolkit
- decompressed
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种通信技术,揭露了一种基于操作系统进行文件解压缩的装置、方法及存储介质,该方法包括:在已预置JDK包且已搭建JDK环境后,基于JDK包获取当前操作系统的类型,根据当前操作系统的类型对应的分析方式判断当前操作系统中是否已安装有解压缩工具;若否,则采用与当前操作系统的类型对应的下载方式在当前操作系统中下载预定的解压缩工具包;在下载预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对待解压缩文件进行解压缩。本发明能够根据不同的操作系统类型自动安装解压缩工具,操作简便,具有跨平台性及较强的通用性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于操作系统进行文件解压缩的装置、方法及存储介质。
背景技术
现有的操作系统有些自带解压缩工具但有些未自带解压缩工具。如果操作系统未自带解压缩工具,则需要用户自行下载并安装相应的压缩工具进行文件的解压缩操作。目前,市面上所有解压缩工具针对不同操作系统都需要安装不同格式的安装文件,部分解压缩工具的下载安装操作比较繁琐,而且存在版本兼容等问题。有鉴于此,针对不同操作系统提供一种下载安装操作简便、通用性强的解压缩工具成为有待解决的问题。
发明内容
本发明的目的在于提供一种基于操作系统进行文件解压缩的装置、方法及存储介质,旨在根据不同的操作系统类型自动安装解压缩工具,操作简便且通用性强。
为实现上述目的,本发明提供一种基于操作系统进行文件解压缩的装置,所述基于操作系统进行文件解压缩的装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的解压缩程序,所述解压缩程序被所述处理器执行时实现如下步骤:
在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
优选地,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,具体包括:
获取待解压缩文件的输出目录;
在进行解压缩的过程中,若有所述待解压缩文件中的子文件解压缩出错,则捕获解压缩出错的子文件,将该出错的子文件复制至输出目录中预先建立的出错文件夹中,删除该出错的子文件对应的源文件;
跳过该出错的子文件并解压缩所述待解压缩文件中的下一子文件,在对所述待解压缩文件解压缩完成后,输出解压缩成功的子文件及所述出错文件夹中出错的子文件。
优选地,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,进一步包括:
在对所述待解压缩文件解压缩完成后,遍历解压缩成功的子文件并分析该解压缩成功的子文件中是否存在压缩文件;
若是,则对为压缩文件的子文件进行解压缩,直至将所述待解压缩文件中的所有压缩文件解压缩完毕。
优选地,所述解压缩程序被所述处理器执行时,还实现如下步骤:
在未预置Java语言开发工具包时,分析所述当前操作系统中是否已搭建Java语言开发工具包的环境;
若否,则下载所述Java语言开发工具包并基于所述Java语言开发工具包搭建Java语言开发工具包的环境。
为实现上述目的,本发明还提供一种基于操作系统进行文件解压缩的方法,所述基于操作系统进行文件解压缩的方法包括:
S1,在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
S2,若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
S3,在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
S4,在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
优选地,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,具体包括:
获取待解压缩文件的输出目录;
在进行解压缩的过程中,若有所述待解压缩文件中的子文件解压缩出错,则捕获解压缩出错的子文件,将该出错的子文件复制至输出目录中预先建立的出错文件夹中,删除该出错的子文件对应的源文件;
跳过该出错的子文件并解压缩所述待解压缩文件中的下一子文件,在对所述待解压缩文件解压缩完成后,输出解压缩成功的子文件及所述出错文件夹中出错的子文件。
优选地,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,进一步包括:
在对所述待解压缩文件解压缩完成后,遍历解压缩成功的子文件并分析该解压缩成功的子文件中是否存在压缩文件;
若是,则对为压缩文件的子文件进行解压缩,直至将所述待解压缩文件中的所有压缩文件解压缩完毕。
优选地,所述步骤S1之前,还包括:
在未预置Java语言开发工具包时,分析所述当前操作系统中是否已搭建Java语言开发工具包的环境,若否,则下载所述Java语言开发工具包并基于所述Java语言开发工具包搭建Java语言开发工具包的环境。
优选地,所述预先内置的解压缩工具包为适用于当前操作系统的类型的最新版本的解压缩工具包。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有解压缩程序,所述解压缩程序被处理器执行时实现上述的基于操作系统进行文件解压缩的方法的步骤。
本发明的有益效果是:本发明开发了通过具有跨平台性质的解压缩程序,首先获取当前操作系统的类型,根据当前操作系统的类型采用对应的分析方式判断是否已经安装有解压缩工具,然后,在当前操作系统未安装解压缩工具的情况下,采用与当前操作系统的类型对应的下载方式进行下载解压缩工具包,当在线下载失败时会进行离线获得内置的解压缩工具包进行安装,最后,在安装完成后,基于已安装的解压缩工具包及预定的解压缩方式进行解压缩。本发明可以根据不同的操作系统类型自动安装解压缩工具,操作简便,具有跨平台性及较强的通用性。
附图说明
图1为本发明基于操作系统进行文件解压缩的装置一实施例的硬件架构的示意图;
图2为图1中解压缩程序一实施例的程序模块图;
图3为本发明基于操作系统进行文件解压缩的方法一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明基于操作系统进行文件解压缩的装置一实施例的硬件架构的示意图。基于操作系统进行文件解压缩的装置1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述基于操作系统进行文件解压缩的装置1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,基于操作系统进行文件解压缩的装置1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的解压缩程序10。需要指出的是,图1仅示出了具有组件11-13的基于操作系统进行文件解压缩的装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为基于操作系统进行文件解压缩的装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是基于操作系统进行文件解压缩的装置1的内部存储单元,例如该基于操作系统进行文件解压缩的装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是基于操作系统进行文件解压缩的装置1的外部存储设备,例如基于操作系统进行文件解压缩的装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于基于操作系统进行文件解压缩的装置1的操作系统和各类应用软件,例如存储本发明一实施例中的解压缩程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或者处理数据,例如运行解压缩程序10等。
所述网络接口13可包括标准的无线网络接口、有线网络接口,该网络接口13通常用于在所述基于操作系统进行文件解压缩的装置1与其他电子设备之间建立通信连接。
所述解压缩程序10存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一实施例中,上述解压缩程序10被所述处理器12执行时实现如下步骤:
在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
进一步地,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,具体包括:
获取待解压缩文件的输出目录;
在进行解压缩的过程中,若有所述待解压缩文件中的子文件解压缩出错,则捕获解压缩出错的子文件,将该出错的子文件复制至输出目录中预先建立的出错文件夹中,删除该出错的子文件对应的源文件;
跳过该出错的子文件并解压缩所述待解压缩文件中的下一子文件,在对所述待解压缩文件解压缩完成后,输出解压缩成功的子文件及所述出错文件夹中出错的子文件。
进一步地,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,进一步包括:
在对所述待解压缩文件解压缩完成后,遍历解压缩成功的子文件并分析该解压缩成功的子文件中是否存在压缩文件;
若是,则对为压缩文件的子文件进行解压缩,直至将所述待解压缩文件中的所有压缩文件解压缩完毕。
进一步地,所述解压缩程序被所述处理器执行时,还实现如下步骤:
在未预置Java语言开发工具包时,分析所述当前操作系统中是否已搭建Java语言开发工具包的环境;
若否,则下载所述Java语言开发工具包并基于所述Java语言开发工具包搭建Java语言开发工具包的环境。
参照图2所示,为图1中解压缩程序10的程序模块图。所述解压缩程序10被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
所述解压缩程序10可以被分割为:判断模块101、下载模块102、安装模块103及解压缩模块104。
所述判断模块101,用于在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
所述下载模块102,用于若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
所述安装模块103,用于在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
所述解压缩模块104,用于在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
具体原理请参照下述图3关于该方法的流程图的介绍。
如图3所示,图3为本发明基于操作系统进行文件解压缩的方法一实施例的流程示意图,基于操作系统进行文件解压缩的装置1的处理器13执行存储器12中存储的解压缩程序10时实现该方法的如下步骤:
步骤S1,在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
在本实施例中,基于操作系统进行文件解压缩的装置中可以预先内置Java语言开发工具包(Java Development ToolKit,JDK),且基于该Java语言开发工具包搭建Java语言开发工具包的环境,即JDK环境。
其中,在已搭建JDK环境的条件下,可以通过JAVA代码调用本地的方法来判断当前操作系统的类型,例如,通过“String osName=System.getProperty("os.name")”获取当前操作系统的类型。
其中,当前操作系统的类型包括Linux操作系统、Unix操作系统及Windows操作系统。在任一类型的操作系统的界面上,解压缩程序10可以以图标区分,当解压缩程序10被点击并运行后,可以自动执行后续的操作。
其中,在确定当前操作系统的类型后,根据该当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具。
其中,在已搭建JDK环境的条件下,在Linux、Unix操作系统中,可以通过分析方式一(执行命令)或分析方式二(调用本地方法以从JAVA代码中获取)来判断是否已经安装有解压缩工具;
分析方式1:执行命令rpm-qa|grep***,以查询***包是否被安装;
或执行命令yumlistinstalled|grep***,以列出所有被安装的包,查询***包是否被安装;
或执行命令dpkg-l|grep***,以查询***包是否被安装。
上述的“***”为解压缩工具的安装包,通过查询解压缩工具的安装包是否被安装以判断是否已安装有解压缩工具。
分析方式2:直接执行调用本地方法的脚本,通过JAVA代码中获取相应的输出流,会提示“无有效的解压缩工具安装包”等信息,可直接判断是否已经安装解压缩工具。
此外,在未搭建JDK环境的条件下,在Linux、Unix操作系统中,可以通过上述的分析方式一(执行命令)来判断是否已经安装有解压缩工具。
其中,在Windows操作系统中,无论是否已搭建JDK环境,可以通过命令查询的方式判断是否已经安装有解压缩工具,该命令为:
@echo off
Regquery
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVers
ion\Uninstall\|find/i"***">nul 2>nul
if%errorlevel%==0(echo***:已安装)else echo***:未安装。
在另一实施例中,为了提高应用的灵活性,基于操作系统进行文件解压缩的装置中可以不预先内置Java语言开发工具包,这种情况下,可以由解压缩程序执行从网络中下载Java语言开发工具包并自行搭建JDK环境的操作,包括:在未预置Java语言开发工具包时,首先分析所述当前操作系统中是否已搭建Java语言开发工具包的环境;若当前操作系统中未搭建Java语言开发工具包的环境,则下载所述Java语言开发工具包并基于所述Java语言开发工具包搭建Java语言开发工具包的环境,如果当前操作系统中已搭建JDK环境,则不需要从网络中下载Java语言开发工具包。
步骤S2,若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
其中,在已搭建JDK环境的条件下,在Linux、Unix操作系统中,如果没有安装有解压缩工具,则可以通过下载方式一(执行命令的形式)、下载方式二(调用本地方法安装解压缩工具)来下载预定的解压缩工具包;
下载方式一:通过shell脚本执行安装解压缩工具的指令,例如:Linux通过shell脚本执行“lsudoapt-getinstall***”命令;Unix通过shell脚本执行“lsudoapt-getinstall***”命令,执行命令后,下载预定的解压缩工具包;
下载方式二:直接调用本地方法安装解压缩工具,该本地的方法为:Processchild=Runtime.getRuntime().exec(locationCmd)。
此外,在未搭建JDK环境的条件下,在Linux、Unix操作系统中,可以通过上述的下载方式一(执行命令)来下载预定的解压缩工具包。
其中,在Windows操作系统中,与上述的下载方式二相同,直接调用本地方法安装解压缩工具包,该本地的方法为:Processchild=Runtime.getRuntime().exec(locationCmd)。
在本实施例中,预定的解压缩工具包为适用于当前操作系统的类型的最新版本的解压缩工具包。
此外,如果当前操作系统中已安装有解压缩工具,则可以直接使用已安装的解压缩工具。
步骤S3,在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
其中,在下载预定的解压缩工具包的过程中,如果在线下载成功则直接安装;
如果由于网络等异常情况导致在线下载失败,则获取预先内置的该当前操作系统的类型对应的解压缩工具包,然后,进行离线安装解压缩工具包。
本实施例实现由于预先内置了各个操作系统类型对应的解压缩工具包作为应急方案,在在线下载失败时可以离线使用预先内置的解压缩工具包,提高应用的灵活性。
步骤S4,在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
其中,在安装完成解压缩工具包后,用户选择待解压缩文件,然后利用已安装的解压缩工具对待解压缩文件进行解压缩。
在一实施例中,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,具体包括:
获取待解压缩文件的输出目录;
在进行解压缩的过程中,若有所述待解压缩文件中的子文件解压缩出错,则捕获解压缩出错的子文件,将该出错的子文件复制至输出目录中预先建立的出错文件夹中,删除该出错的子文件对应的源文件;
跳过该出错的子文件并解压缩所述待解压缩文件中的下一子文件,在对所述待解压缩文件解压缩完成后,输出解压缩成功的子文件及所述出错文件夹中出错的子文件。
现有技术中,解压缩途中如果遇到错误的文件,需要重新处理继续压缩上传,且会停止解压缩操作。而本实施例在利用已安装的解压缩工具包及预定的解压缩方式对待解压缩文件进行解压缩的过程中,可以将解压缩出错的子文件及解压成功的子文件分离,并一起输出,方便对解压缩出错的子文件进行后续的判断及处理,且会跳过该出错的子文件并解压缩下一子文件,最大限度减少用户操作。
在另一实施例中,在上述实施例的基础上,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,进一步包括:
在对所述待解压缩文件解压缩完成后,遍历解压缩成功的子文件并分析该解压缩成功的子文件中是否存在压缩文件;
若是,则对为压缩文件的子文件进行解压缩,直至将所述待解压缩文件中的所有压缩文件解压缩完毕。
现有技术中,解压缩工具往往只能够解压缩一层的文件,当解压缩得到的子文件中仍然包含有压缩文件时,不会对其进行进一步的解压缩。而本实施例中,在对待解压缩文件解压缩完成一次解压缩后,可以继续分析子文件中是否存在压缩文件,实现了可以将待解压缩文件中所有的压缩文件进行解压,解决了传统解压缩工具不能递归解压缩待解压缩文件中的所有压缩包的问题。
与现有技术相比,本发明开发了通过具有跨平台性质的解压缩程序,首先获取当前操作系统的类型,根据当前操作系统的类型采用对应的分析方式判断是否已经安装有解压缩工具,然后,在当前操作系统未安装解压缩工具的情况下,采用与当前操作系统的类型对应的下载方式进行下载解压缩工具包,当在线下载失败时会进行离线获得内置的解压缩工具包进行安装,最后,在安装完成后,基于已安装的解压缩工具包及预定的解压缩方式进行解压缩。本发明可以根据不同的操作系统类型自动安装解压缩工具,操作简便,具有跨平台性及较强的通用性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括解压缩程序,该解压缩程序被处理器执行时实现的功能,请参照上述关于图3的介绍,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于操作系统进行文件解压缩的装置,其特征在于,所述基于操作系统进行文件解压缩的装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的解压缩程序,所述解压缩程序被所述处理器执行时实现如下步骤:
在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
2.根据权利要求1所述的基于操作系统进行文件解压缩的装置,其特征在于,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,具体包括:
获取待解压缩文件的输出目录;
在进行解压缩的过程中,若有所述待解压缩文件中的子文件解压缩出错,则捕获解压缩出错的子文件,将该出错的子文件复制至输出目录中预先建立的出错文件夹中,删除该出错的子文件对应的源文件;
跳过该出错的子文件并解压缩所述待解压缩文件中的下一子文件,在对所述待解压缩文件解压缩完成后,输出解压缩成功的子文件及所述出错文件夹中出错的子文件。
3.根据权利要求2所述的基于操作系统进行文件解压缩的装置,其特征在于,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,进一步包括:
在对所述待解压缩文件解压缩完成后,遍历解压缩成功的子文件并分析该解压缩成功的子文件中是否存在压缩文件;
若是,则对为压缩文件的子文件进行解压缩,直至将所述待解压缩文件中的所有压缩文件解压缩完毕。
4.根据权利要求1至3任一项所述的基于操作系统进行文件解压缩的装置,其特征在于,所述解压缩程序被所述处理器执行时,还实现如下步骤:
在未预置Java语言开发工具包时,分析所述当前操作系统中是否已搭建Java语言开发工具包的环境;
若否,则下载所述Java语言开发工具包并基于所述Java语言开发工具包搭建Java语言开发工具包的环境。
5.一种基于操作系统进行文件解压缩的方法,其特征在于,所述基于操作系统进行文件解压缩的方法包括:
S1,在已预置Java语言开发工具包且已搭建Java语言开发工具包的环境后,基于所述Java语言开发工具包获取当前操作系统的类型,根据所述当前操作系统的类型对应的分析方式判断所述当前操作系统中是否已安装有解压缩工具;
S2,若否,则采用与所述当前操作系统的类型对应的下载方式在所述当前操作系统中下载预定的解压缩工具包;
S3,在下载所述预定的解压缩工具包失败后,获取预先内置的解压缩工具包进行安装;
S4,在安装完成后,获取待解压缩文件,基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩。
6.根据权利要求5所述的基于操作系统进行文件解压缩的方法,其特征在于,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,具体包括:
获取待解压缩文件的输出目录;
在进行解压缩的过程中,若有所述待解压缩文件中的子文件解压缩出错,则捕获解压缩出错的子文件,将该出错的子文件复制至输出目录中预先建立的出错文件夹中,删除该出错的子文件对应的源文件;
跳过该出错的子文件并解压缩所述待解压缩文件中的下一子文件,在对所述待解压缩文件解压缩完成后,输出解压缩成功的子文件及所述出错文件夹中出错的子文件。
7.根据权利要求6所述的基于操作系统进行文件解压缩的方法,其特征在于,所述基于已安装的解压缩工具包及预定的解压缩方式对所述待解压缩文件进行解压缩的步骤,进一步包括:
在对所述待解压缩文件解压缩完成后,遍历解压缩成功的子文件并分析该解压缩成功的子文件中是否存在压缩文件;
若是,则对为压缩文件的子文件进行解压缩,直至将所述待解压缩文件中的所有压缩文件解压缩完毕。
8.根据权利要求5至7任一项所述的基于操作系统进行文件解压缩的方法,其特征在于,所述步骤S1之前,还包括:
在未预置Java语言开发工具包时,分析所述当前操作系统中是否已搭建Java语言开发工具包的环境,若否,则下载所述Java语言开发工具包并基于所述Java语言开发工具包搭建Java语言开发工具包的环境。
9.根据权利要求5至7任一项所述的基于操作系统进行文件解压缩的方法,其特征在于,所述预先内置的解压缩工具包为适用于当前操作系统的类型的最新版本的解压缩工具包。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有解压缩程序,所述解压缩程序被处理器执行时实现如权利要求5至9中任一项所述的基于操作系统进行文件解压缩的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910821089.0A CN110704072A (zh) | 2019-08-30 | 2019-08-30 | 基于操作系统进行文件解压缩的装置、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910821089.0A CN110704072A (zh) | 2019-08-30 | 2019-08-30 | 基于操作系统进行文件解压缩的装置、方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704072A true CN110704072A (zh) | 2020-01-17 |
Family
ID=69194006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910821089.0A Pending CN110704072A (zh) | 2019-08-30 | 2019-08-30 | 基于操作系统进行文件解压缩的装置、方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704072A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584829A (zh) * | 2004-06-09 | 2005-02-23 | 北京九州计算机网络有限公司 | 能自动进行数据压缩和解压缩的移动存储系统 |
CN101119517A (zh) * | 2007-07-12 | 2008-02-06 | 深圳市融合视讯科技有限公司 | 一种从网络服务器自动下载软件的方法 |
CN109241035A (zh) * | 2018-08-28 | 2019-01-18 | 福建南威软件有限公司 | 一种自定义脚本实现数据库的自动部署方法 |
-
2019
- 2019-08-30 CN CN201910821089.0A patent/CN110704072A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584829A (zh) * | 2004-06-09 | 2005-02-23 | 北京九州计算机网络有限公司 | 能自动进行数据压缩和解压缩的移动存储系统 |
CN101119517A (zh) * | 2007-07-12 | 2008-02-06 | 深圳市融合视讯科技有限公司 | 一种从网络服务器自动下载软件的方法 |
CN109241035A (zh) * | 2018-08-28 | 2019-01-18 | 福建南威软件有限公司 | 一种自定义脚本实现数据库的自动部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866801B1 (en) | Non-destructive update of discrete components of firmware | |
WO2019140828A1 (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
CN103412769B (zh) | 外接卡参数配置方法、设备以及系统 | |
WO2019148722A1 (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
WO2017157178A1 (zh) | 一种移动终端应用程序的更新方法和装置 | |
EP3812890A1 (en) | Software update agent apparatus and patch method using same | |
WO2020177429A1 (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
CN105824678A (zh) | 一种操作系统安装方法及装置 | |
CN106874060B (zh) | 一种判断jar包是否被引用的方法及设备 | |
CN114296835B (zh) | 应用程序的启动方法和装置 | |
CN104572235A (zh) | 一种可加载内核模块的编译方法和装置 | |
CN108255735B (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
US10664598B1 (en) | Firmware security patch deployment | |
CN116303099B (zh) | 自动化测试环境跨平台快速部署方法、装置、介质及设备 | |
US9672047B1 (en) | Systems and methods for accessing a bootable partition on a serial peripheral interface device | |
CN114296747A (zh) | 软件安装包的安装方法以及装置 | |
CN109471799B (zh) | 一种需求环境的部署方法、装置、存储介质及终端 | |
CN115658185B (zh) | 一种云应用快速启动的方法、装置、存储介质及电子设备 | |
WO2019100690A1 (zh) | 电子装置、测试的方法、系统及计算机可读存储介质 | |
CN108681468A (zh) | 一种Linux系统磁盘设备绑定方法、装置及服务器 | |
CN111552517B (zh) | 应用程序启动方法、装置、电子设备及计算机存储介质 | |
CN113760306A (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
CN111324373B (zh) | 多个工程文件上传代码仓库的方法及装置、计算设备 | |
CN110704072A (zh) | 基于操作系统进行文件解压缩的装置、方法及存储介质 | |
CN109359093B (zh) | 一种规则文件更新方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200117 |