CN111984595B - 一种文件处理方法及装置、存储介质 - Google Patents
一种文件处理方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111984595B CN111984595B CN201910425861.7A CN201910425861A CN111984595B CN 111984595 B CN111984595 B CN 111984595B CN 201910425861 A CN201910425861 A CN 201910425861A CN 111984595 B CN111984595 B CN 111984595B
- Authority
- CN
- China
- Prior art keywords
- file
- identification
- resource
- module
- functional module
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 12
- 238000012986 modification Methods 0.000 claims abstract description 185
- 230000004048 modification Effects 0.000 claims abstract description 185
- 230000014509 gene expression Effects 0.000 claims abstract description 137
- 238000012545 processing Methods 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 20
- 239000000284 extract Substances 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 238000012512 characterization method Methods 0.000 abstract description 6
- 238000011161 development Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
- G06F16/166—File name conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种文件处理方法及装置、存储介质,该方法包括:当接收到标识修改请求时,响应于标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;利用预设正则表达式,对每个功能模块的初始文件进行标识提取,得到每个功能模块对应的更新后的正则表达式;预设正则表达式表征标识提取规则,更新后的正则表达式表征初始文件对应的文件标识;根据预设模块标识生成规则,生成每个功能模块对应的模块标识;预设模块标识生成规则表征功能模块和模块标识的对应关系;利用更新后的正则表达式、以及每个功能模块对应的模块标识,对每个功能模块的初始文件进行标识修改,得到每个功能模块的标识修改文件。
Description
技术领域
本发明涉及程序开发技术,尤其涉及一种文件处理方法及装置、存储介质。
背景技术
在现有安卓系统的应用程序开发中,开发人员将应用程序按功能划分成各个功能模块,对各个功能模块进行编码、测试等,再将所有功能模块进行组装,生成可使用的应用程序;由于功能模块进行组装时,由各个功能模块的资源生成一个资源索引文件,如果各个功能模块的资源存在重名,将导致组装失败,为了解决资源重名的问题,开发人员手动对所有功能模块的资源名称进行修改,以使得修改后的资源名称不存在重名;但是,应用程序中的功能模块数目较多,并且每个功能模块的资源个数可达好几千个,需要修改的资源名称的数量庞大,手动修改名称的方式存在效率低和错误率高的问题。
发明内容
本发明的主要目的在于提出一种文件处理方法及装置、存储介质,提高资源命名的效率、降低资源命名的错误率。
本发明的技术方案是这样实现的:
本发明实施例提供了一种文件处理方法,所述方法包括:
当接收到标识修改请求时,响应于所述标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;
利用预设正则表达式,对所述每个功能模块的初始文件进行标识提取,得到所述每个功能模块对应的更新后的正则表达式;所述预设正则表达式表征标识提取规则,所述更新后的正则表达式表征所述初始文件对应的文件标识;
根据预设模块标识生成规则,生成所述每个功能模块对应的模块标识;所述预设模块标识生成规则表征功能模块和模块标识的对应关系;
利用所述更新后的正则表达式、以及所述每个功能模块对应的模块标识,对所述每个功能模块的初始文件进行标识修改,得到所述每个功能模块的标识修改文件。
上述方案中,所述每个功能模块的初始文件包括至少一个资源文件夹;
所述利用预设正则表达式,对所述每个功能模块的初始文件进行标识提取,得到所述每个功能模块对应的更新后的正则表达式,包括:
针对所述至少一个资源文件夹中每个文件夹,利用所述预设正则表达式,对所述每个文件夹中的资源文件进行标识提取,得到所述每个文件夹对应的文件标识;
根据所述每个文件夹和所述每个文件夹对应的文件标识,生成所述每个文件夹对应的正则表达式,进而得到所述至少一个资源文件夹对应的至少一个正则表达式;
将所述至少一个资源文件夹对应的至少一个正则表达式,作为所述更新后的正则表达式。
上述方案中,所述根据所述每个文件夹和所述每个文件夹对应的文件标识,生成所述每个文件夹对应的正则表达式,包括:
从所述每个文件夹中提取文件夹标识;
将所述文件夹标识、以及所述每个文件夹对应的文件标识进行组合,生成所述每个文件夹对应的正则表达式。
上述方案中,所述每个功能模块的初始文件包括至少一个资源文件和引用资源文件的文本文件;
所述利用所述更新后的正则表达式、以及所述每个功能模块对应的模块标识,对所述每个功能模块的初始文件进行标识修改,得到所述每个功能模块的标识修改文件,包括:
根据所述至少一个资源文件和所述每个功能模块对应的模块标识,对所述初始文件中的所述至少一个资源文件进行标识修改,得到所述每个功能模块的初次标识修改文件;
利用所述每个功能模块对应的模块标识、所述更新后的正则表达式、以及预设资源文件引用格式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识修改,得到所述每个功能模块的标识修改文件。
上述方案中,所述根据所述至少一个资源文件和所述每个功能模块对应的模块标识,对所述初始文件中的所述至少一个资源文件进行标识修改,得到所述每个功能模块的初次标识修改文件,包括:
针对所述至少一个资源文件中每个资源文件,从所述每个资源文件中提取文件标识;
将所述每个功能模块对应的模块标识、以及所述文件标识进行组合,得到所述每个资源文件的文件修改标识;
利用所述每个资源文件的文件修改标识,对所述初始文件中的所述每个资源文件的文件标识进行替换,得到所述每个功能模块的初次标识修改文件。
上述方案中,所述利用所述每个功能模块对应的模块标识、所述更新后的正则表达式、以及预设资源文件引用格式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识修改,得到所述每个功能模块的标识修改文件,包括:
根据所述预设资源文件引用格式和所述更新后的正则表达式,从所述引用资源文件的文本文件中确定资源文件的引用位置;
根据所述资源文件的引用位置、以及所述每个功能模块对应的模块标识,对所述初次标识修改文件中的所述引用资源文件的文本文件进行修改,得到所述每个功能模块的标识修改文件。
上述方案中,所述根据所述预设资源文件引用格式和所述更新后的正则表达式,从所述引用资源文件的文本文件中确定资源文件的引用位置,包括:
利用所述更新后的正则表达式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识匹配,得到资源文件的初始引用位置、以及资源文件的引用信息;
判断所述资源文件的引用信息是否符合所述预设资源文件引用格式;
当所述资源文件的引用信息符合所述预设资源文件引用格式时,将所述资源文件的初始引用位置,作为所述资源文件的引用位置。
上述方案中,所述引用资源文件的文本文件包括可扩展标记语言文件和源代码文件;所述预设资源文件引用格式包括所述可扩展标记语言文件对应的第一引用格式、以及所述源代码文件对应的第二引用格式。
上述方案中,所述初始文件对应的文件标识包括资源文件名称;所述每个功能模块对应的模块标识包括模块名称。
本发明实施例提供了一种文件处理装置,所述装置包括:获取单元、文件标识处理单元和模块标识生成单元;其中,
所述获取单元,用于当接收到标识修改请求时,响应于所述标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;
所述文件标识处理单元,用于利用预设正则表达式,对所述每个功能模块的初始文件进行标识提取,得到所述每个功能模块对应的更新后的正则表达式;所述预设正则表达式表征标识提取规则,所述更新后的正则表达式表征所述初始文件对应的文件标识;
所述模块标识生成单元,用于根据预设模块标识生成规则,生成所述每个功能模块对应的模块标识;所述预设模块标识生成规则表征功能模块和模块标识的对应关系;
所述文件标识处理单元,还用于利用所述更新后的正则表达式、以及所述每个功能模块对应的模块标识,对所述每个功能模块的初始文件进行标识修改,得到所述每个功能模块的标识修改文件。
上述方案中,所述每个功能模块的初始文件包括至少一个资源文件夹;
所述文件标识处理单元,具体用于针对所述至少一个资源文件夹中每个文件夹,利用所述预设正则表达式,对所述每个文件夹中的资源文件进行标识提取,得到所述每个文件夹对应的文件标识;及根据所述每个文件夹和所述每个文件夹对应的文件标识,生成所述每个文件夹对应的正则表达式,进而得到所述至少一个资源文件夹对应的至少一个正则表达式;以及将所述至少一个资源文件夹对应的至少一个正则表达式,作为所述更新后的正则表达式。
上述方案中,所述文件标识处理单元,具体用于从所述每个文件夹中提取文件夹标识;以及将所述文件夹标识、以及所述每个文件夹对应的文件标识进行组合,生成所述每个文件夹对应的正则表达式。
上述方案中,所述每个功能模块的初始文件包括至少一个资源文件和引用资源文件的文本文件;
所述文件标识处理单元,具体用于根据所述至少一个资源文件和所述每个功能模块对应的模块标识,对所述初始文件中的所述至少一个资源文件进行标识修改,得到所述每个功能模块的初次标识修改文件;以及利用所述每个功能模块对应的模块标识、所述更新后的正则表达式、以及预设资源文件引用格式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识修改,得到所述每个功能模块的标识修改文件。
上述方案中,所述文件标识处理单元,具体用于针对所述至少一个资源文件中每个资源文件,从所述每个资源文件中提取文件标识;及将所述每个功能模块对应的模块标识、以及所述文件标识进行组合,得到所述每个资源文件的文件修改标识;以及利用所述每个资源文件的文件修改标识,对所述初始文件中的所述每个资源文件的文件标识进行替换,得到所述每个功能模块的初次标识修改文件。
上述方案中,所述文件标识处理单元,具体用于根据所述预设资源文件引用格式和所述更新后的正则表达式,从所述引用资源文件的文本文件中确定资源文件的引用位置;以及根据所述资源文件的引用位置、以及所述每个功能模块对应的模块标识,对所述初次标识修改文件中的所述引用资源文件的文本文件进行修改,得到所述每个功能模块的标识修改文件。
上述方案中,所述文件标识处理单元,具体用于利用所述更新后的正则表达式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识匹配,得到资源文件的初始引用位置、以及资源文件的引用信息;及判断所述资源文件的引用信息是否符合所述预设资源文件引用格式;以及当所述资源文件的引用信息符合所述预设资源文件引用格式时,将所述资源文件的初始引用位置,作为所述资源文件的引用位置。
上述方案中,所述引用资源文件的文本文件包括可扩展标记语言文件和源代码文件;所述预设资源文件引用格式包括所述可扩展标记语言文件对应的第一引用格式、以及所述源代码文件对应的第二引用格式。
上述方案中,所述初始文件对应的文件标识包括资源文件名称;所述每个功能模块对应的模块标识包括模块名称。
本发明实施例提供了一种文件处理装置,所述装置包括:处理器、存储器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的一个或者多个程序,当所述一个或者多个程序被执行时,通过所述处理器执行如上述任一项文件处理方法的步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被至少一个处理器执行时,导致所述至少一个处理器执行如上述任一项文件处理方法的步骤。
本发明实施例提供一种文件处理方法及装置、存储介质,采用上述技术实现方案,对每个功能模块的初始文件进行标识提取,得到每个功能模块对应的更新后的正则表达式,再利用更新后的正则表达式、每个功能模块对应的模块标识,对每个功能模块的初始文件进行标识修改,得到每个功能模块的标识修改文件;由于更新后的正则表达式表征每个功能模块的初始文件对应的文件标识,利用更新后的正则表达式就可以检索出每个功能模块的初始文件中的文件标识,再利用每个功能模块对应的模块标识对初始文件中检索出的文件标识进行修改,就能够得到每个功能模块的标识修改文件,由于每个功能模块的标识修改文件是利用每个功能模块对应的模块标识得到的,因此,每个功能模块的标识修改文件中的文件标识与至少一个功能模块中其他功能模块的标识修改文件中的文件标识不同,即实现了资源自动重命名,进而提高了资源重命名的效率、降低了资源重命名的错误率。
附图说明
图1为本发明实施例提供的一种文件处理装置的结构示意图一;
图2为本发明实施例提供的一种文件处理方法的流程图;
图3为本发明实施例提供的一种文件处理装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
下面参见图1,其为实现本发明各个实施例的一种文件处理装置1的示意图,该装置1可以包括:获取单元11、文件标识处理单元12和模块标识生成单元13,其中,文件标识处理单元12包括正则引擎121;在应用程序开发时,开发人员往往按照功能将应用程序分为至少一个功能模块,在应用程序业务开发模块中分别对至少一个功能模块进行编码、测试,再对测试完成的至少一个功能模块进行组装,得到应用程序的完整的运行文件;为了避免至少一个功能模块之间存在资源重命名,导致组装失败的问题,由文件处理装置1对测试完成的至少一个功能模块进行文件处理,具体地,获取单元11从应用程序业务开发模块中,获取测试完成的至少一个功能模块中每个功能模块的初始文件,正则引擎121对每个功能模块的初始文件进行标识提取,得到标识提取结果;文件标识处理单元12基于标识提取结果,对每个功能模块的初始文件进行标识修改,得到每个功能模块的标识修改文件;应用程序业务开发模块对所有功能模块的标识修改文件进行组装,生成应用程序的完成的运行文件;其中,正则引擎121利用正则表达式实现标识提取和修改;正则表达式又称规则表达式,通常被用来检索、替换那些符合某个规则的文本。
需要说明的是,上述获取单元11、文件标识处理单元12和模块标识生成单元13可以通过软件的方式实现,也可以通过硬件的方式来实现;对于软件的方式来说,可以将上述获取单元11、文件标识处理单元12和模块标识生成单元13封装在插件中,生成具有文件处理功能的插件;应用程序业务开发模块可以在生成每个功能模块的初始文件后加载该插件,以实现该插件的文件处理功能。
示例性地,采用gradle插件技术,将获取单元11、文件标识处理单元12和模块标识生成单元13封装在一个gradle的任务(task)构建块中,该gradle作为一个软件工具开发包(sdk,Software Development Kit),应用程序业务开发模块将该sdk插入生成初始文件之后,以实现对初始文件执行文件处理功能;其中,gradle采用Groovy语言进行开发,而Groovy代码作为一种基于Java虚拟机(JVM,Java Virtual Machine)的动态开发语言,它结合了Python蟒蛇、Ruby和Smalltalk的许多强大特性,能够与Java代码很好地结合,因此,安卓系统的应用程序业务开发模块都可以加载gradle插件,那么,生成gradle插件后可以将gradle插件上传至私有服务器仓库,安卓系统的所有应用程序业务开发模块访问私有服务器仓库,就能够引用gradle插件,实现gradle插件的复用。
本领域技术人员可以理解,图1中示出的文件处理装置的结构并不构成对文件处理装置的限定,文件处理装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
需要说明的是,本发明实施例可以基于图1所示的文件处理装置所实现,下面基于图1进行文件处理具体实施例的说明。
实施例一
本发明实施例提供一种文件处理方法,如图2所示,该方法包括:
S201、当接收到标识修改请求时,响应于标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;
文件处理装置接收到标识修改请求时,从应用程序业务开发模块中获取至少一个功能模块中每个功能模块的初始文件。
在一些实施例中,应用程序业务开发模块在生成至少一个功能模块中每个功能模块的初始文件后,加载具有文件处理功能的插件;当插件被加载时,文件处理装置中的获取单元确定接收到标识修改请求,从应用程序业务开发模块中获取至少一个功能模块中每个功能模块的初始文件。
示例性地,以安卓系统的应用程序(以下将安卓系统的应用程序简称为安卓应用程序)为例,至少一个功能模块中每个功能模块的初始文件包括resources(res)目录,还包括src目录或Java目录;src目录和Java目录主要存放Java源代码文件,res目录主要存放布局类型的资源文件,res目录包括:layout资源文件夹、drawable资源文件夹、anim资源文件夹、color资源文件夹、menu资源文件夹、raw资源文件夹、xml资源文件夹、mipmap资源文件夹和values资源文件夹等;其中,layout资源文件夹用于存放布局资源文件,drawable资源文件夹用于存放图片资源文件,anim资源文件夹用于存放动画资源文件,color资源文件夹用于存放颜色资源文件,menu资源文件夹用于存放菜单资源文件,raw资源文件夹用于存放未处理的资源文件,xml资源文件夹用于存放可扩展标记语言(XML,Extensible MarkupLanguage)格式的资源文件,mipmap资源文件夹用于存放应用图标的资源文件,values资源文件夹用于存放资源文件的信息。
S202、利用预设正则表达式,对每个功能模块的初始文件进行标识提取,得到每个功能模块对应的更新后的正则表达式;预设正则表达式表征标识提取规则,更新后的正则表达式表征初始文件对应的文件标识;
文件处理装置中的正则引擎利用预设正则表达式,对每个功能模块的初始文件进行标识提取,得到每个功能的初始文件对应的文件标识;正则引擎利用每个功能模块的初始文件对应的文件标识,对预设正则表达式进行更新,得到每个功能模块对应的更新后的正则表达式;其中,初始文件对应的文件标识包括资源文件名称。
示例性地,预设正则表达式表征每种资源文件夹对应的标识提取规则;正则引擎对初始文件中的资源文件夹进行标识提取,以res目录中的layout资源文件夹为例,对layout资源文件夹进行标识提取时,从预设正则表达式中匹配layout对应的标识提取规则,基于layout对应的标识提取规则,从layout资源文件夹中提取所有文件标识,例如,layout资源文件夹包括一个全称为‘layout_bottom.xml’的资源文件,提取到该资源文件的文件标识为layout_bottom。
需要说明的是,对于安卓应用程序,功能模块的初始文件包括res目录,res目录包括至少一个资源文件夹,功能模块的初始文件对应的资源文件名称是指至少一个资源文件夹中的资源文件的名称,因此,可以只对每个功能模块的初始文件中的res目录进行标识提取。
在一些实施例中,每个功能模块的初始文件包括至少一个资源文件夹;文件处理装置针对至少一个资源文件夹中每个文件夹,利用预设正则表达式,对每个文件夹中的资源文件进行标识提取,得到每个文件夹对应的文件标识;根据每个文件夹和每个文件夹对应的文件标识,生成每个文件夹对应的正则表达式,进而得到至少一个资源文件夹对应的至少一个正则表达式;将至少一个资源文件夹对应的至少一个正则表达式,作为更新后的正则表达式。
文件处理装置中的正则引擎得到每个文件夹对应的文件标识后,基于每个文件夹和每个文件夹对应的文件标识,获取每个文件夹对应的所有字符;将每个文件夹对应的所有字符进行组合,生成每个文件夹对应的正则表达式;将所有文件夹对应的所有正则表达式,作为更新后的正则表达式。
在一些实施例中,文件处理装置从每个文件夹中提取文件夹标识;将文件夹标识、以及每个文件夹对应的文件标识进行组合,生成每个文件夹对应的正则表达式。
文件处理装置中的正则引擎提取每个文件夹的文件夹名称,将每个文件夹的文件夹名称作为文件夹标识;将文件夹标识和每个文件夹对应的所有资源文件名称进行组合,生成每个文件夹对应的正则表达式。
示例性地,以res目录中的layout资源文件夹为例,layout资源文件夹的文件夹名称为layout,layout资源文件夹包括三个资源文件,三个资源文件的全称分别是‘activity_main.xml’、‘layout_bottom.xml’和‘layout_top.xml’;从每个资源文件的全称中提取资源文件名称,进而得到layout资源文件夹对应的所有资源文件名称包括:activity_main、layout_bottom和layout_top;将layout、activity_main、layout_bottom和layout_top进行组合,生成layout资源文件对应的正则表达式。
S203、根据预设模块标识生成规则,生成每个功能模块对应的模块标识;预设模块标识生成规则表征功能模块和模块标识的对应关系;
文件处理装置中的模块标识生成单元按照预设模块标识生成规则,生成每个功能模块对应的模块标识;其中,每个功能模块对应的模块标识包括模块名称。
在一些实施例中,预设模块标识生成规则包括基于功能模块的功能描述信息生成功能模块对应的模块名称。
示例性地,至少一个功能模块包括用户模块和支付模块,模块标识生成单元按照预设模块标识生成规则,生成用户模块对应的模块标识为user_module、支付模块对应的模块标识为pay_module。
S204、利用更新后的正则表达式、以及每个功能模块对应的模块标识,对每个功能模块的初始文件进行标识修改,得到每个功能模块的标识修改文件。
文件处理装置利用更新后的正则表达式,对每个功能模块的初始文件进行标识检索,结合每个功能模块对应的模块标识,对初始文件中检索到的标识进行修改,得到每个功能模块的标识修改文件。
在一些实施例中,每个功能模块的初始文件包括至少一个资源文件和引用资源文件的文本文件;文件处理装置中的文件标识处理单元根据至少一个资源文件和每个功能模块对应的模块标识,对初始文件中的至少一个资源文件进行标识修改,得到每个功能模块的初次标识修改文件;文件标识处理单元中的正则引擎利用每个功能模块对应的模块标识、更新后的正则表达式、以及预设资源文件引用格式,对初次标识修改文件中的引用资源文件的文本文件进行标识修改,得到每个功能模块的标识修改文件。
文件处理装置中的文件标识处理单元针对每个功能模块,将每个功能模块对应的模块标识,添加到每个功能模块的初始文件中至少一个资源文件的文件标识前,得到每个功能模块的初始标识修改文件;文件标识处理单元中的正则引擎利用预设资源引用格式和更新后的正则表达式,对初次标识修改文件中的引用资源文件的文本文件进行标识检索,并结合每个功能模块对应的模块标识,对初次标识修改文件中的引用资源文件的文本文件中检索到的标识进行修改,得到每个功能模块的标识修改文件。
在一些实施例中,每个功能模块的初始文件包括至少一个资源文件夹,将至少一个资源文件夹中的所有资源文件作为至少一个资源文件。
在一些实施例中,引用资源文件的文本文件中采用预设资源引用格式直接引用资源文件名称,实现对资源文件的引用;其中,引用资源文件的文本文件包括可扩展标记语言文件和源代码文件;预设资源文件引用格式包括可扩展标记语言文件对应的第一引用格式、以及源代码文件对应的第二引用格式。
示例性地,以安卓应用程序为例,安卓应用程序的功能模块的初始文件中引用资源文件的文本文件包括:XML文件、Java源代码文件;XML文件对应的第一引用格式包括:@文件夹名称/资源文件名称,Java源代码文件对应的第二引用格式包括:R.文件夹名称.资源文件名称。
示例性地,安卓应用程序中的功能模块的初始文件还包括:采用Kotlin静态编程语言进行编写的Kotlin源代码文件,Kotlin源代码文件对应的第三引用格式包括:Kotlinx.android.Synthetic.main.资源文件名称。
示例性地,至少一个资源文件夹包括layout资源文件夹和drawable资源文件夹,XML文件引用layout资源文件夹中的资源文件,对应的引用格式为:@layout/资源文件名称;XML文件引用drawable资源文件夹中的资源文件,对应的引用格式为:@drawable/资源文件名称。
示例性地,至少一个资源文件夹包括layout资源文件夹和drawable资源文件夹,Java源代码文件引用layout资源文件夹中的资源文件,对应的引用格式为:R.layout.资源文件名称;Java源代码文件引用drawable资源文件夹中的资源文件,对应的引用格式为:R.drawable.资源文件名称。
需要说明的是,应用程序的功能模块的初始文件中的引用资源文件的文本文件包括新增类型的文本文件,例如,将Kotlin作为安卓应用程序新的编程语言时,安卓应用程序的功能模块的初始文件中引用资源文件的文本文件包括Kotlin源代码文件,将Kotlin源代码文件对应的第三引用格式增加到预设资源文件引用格式中,得到更新后的预设资源文件引用格式;利用每个功能模块对应的模块标识、更新后的正则表达式、以及更新后的预设资源文件引用格式,能够实现对初次标识修改文件中的Kotlin源代码文件进行标识修改;可以知道,通过对本方案中的预设资源文件引用格式进行修改,就能够实现对新增类型的文本文件进行标识修改,本方案扩展性强。
在一些实施例中,文件处理装置针对至少一个资源文件中每个资源文件,从每个资源文件中提取文件标识;将每个功能模块对应的模块标识、以及文件标识进行组合,得到每个资源文件的文件修改标识;利用每个资源文件的文件修改标识,对初始文件中的每个资源文件的文件标识进行替换,得到每个功能模块的初次标识修改文件;其中,文件标识包括资源文件名称,模块标识包括模块名称,文件修改标识包括文件修改名称。
文件处理装置中的文件标识处理单元针对至少一个资源文件中每个资源文件,从每个资源文件的全称中提取每个资源文件的资源文件名称;将每个功能模块对应的模块名称、以及每个资源文件的资源文件名称进行组合,得到每个资源文件的文件修改名称;利用每个资源文件的文件修改名称,对初始文件中的每个资源文件的全称中的资源文件名称进行替换,得到每个功能模块的初次标识修改文件。
示例性地,至少一个功能模块包括用户模块,用户模块对应的模块标识为user_module,用户模块的初始文件包括layout资源文件夹,以layout资源文件夹中的三个资源文件为例,三个资源文件的全称分别是:‘activity_main.xml’、‘layout_bottom.xml’和‘layout_top.xml’;文件标识处理单元将全称中的文件命名词语作为资源文件名称,三个资源文件的资源文件名称分别是:‘activity_main’、‘layout_bottom’和‘layout_top’;文件标识处理单元将用户模块对应的模块名称,直接添加到每个资源文件的资源文件名称前,得到用户模块的初次标识修改文件,初次标识修改文件中三个资源文件的全称分别是:‘user_module_activity_main.xml’、‘user_module_layout_bottom.xml’和‘user_module_layout_top.xml’。
在一些实施例中,文件处理装置根据预设文件标识、至少一个资源文件和每个功能模块对应的模块标识,对初始文件中的至少一个资源文件进行标识修改,得到每个功能模块的初次标识修改文件;其中,预设文件标识表征至少一个资源文件中每个资源文件对应的通用文件标识。
文件处理装置中的文件标识处理单元针对至少一个资源文件中每个资源文件,从每个资源文件中提取每个资源文件的文件标识;根据预设文件标识,判断每个资源文件的文件标识是否包括初始前缀信息;当每个资源文件的文件标识包括初始前缀信息时,利用每个功能模块对应的模块标识,对初始文件中的每个资源文件的初始前缀信息进行替换,得到每个功能模块的初次标识修改文件;当每个资源文件的文件标识不包括初始前缀信息时,将每个功能模块对应的模块标识、以及每个资源文件的文件标识进行组合,得到每个资源文件的文件修改标识;利用每个资源文件的文件修改标识,对初始文件中的每个资源文件的文件标识进行替换,得到每个功能模块的初次标识修改文件。
在一些实施例中,预设文件标识包括至少一个通用文件标识,文件处理装置中的文件标识处理单元判断每个资源文件的文件标识是否包括至少一个通用文件标识中的一个通用文件标识,如果是,将每个资源文件的文件标识包括的一个通用文件标识作为每个资源文件对应的目标文件标识,否则,确定每个资源文件的文件标识不包括初始前缀信息;判断每个资源文件的文件标识、与每个资源文件对应的目标文件标识是否一样;当每个资源文件的文件标识、与每个资源文件对应的目标文件标识不一样时,确定每个资源文件的文件标识包括初始前缀信息,并在每个资源文件的文件标识中去除每个资源文件对应的目标文件标识,得到每个资源文件的初始前缀信息;当每个资源文件的文件标识、与每个资源文件对应的目标文件标识一样时,确定每个资源文件的文件标识不包括初始前缀信息。
在一些实施例中,文件处理模块根据预设资源文件引用格式和更新后的正则表达式,从引用资源文件的文本文件中确定资源文件的引用位置;根据资源文件的引用位置、以及每个功能模块对应的模块标识,对初次标识修改文件中的引用资源文件的文本文件进行修改,得到每个功能模块的标识修改文件。
文件处理模块中的正则引擎利用预设资源文件引用格式和更新后的正则表达式,对初次标识修改文件中的每个引用资源文件的文本文件进行标识检索,确定每个引用资源文件的文本文件对应的资源文件的引用位置;根据资源文件的引用位置,将每个功能模块对应的模块标识,添加到初次标识修改文件中的每个引用资源文件的文本文件中,得到每个功能模块的标识修改文件。
在一些实施例中,更新后的正则表达式包括至少一个资源文件名称,正则引擎利用至少一个资源文件名称和预设资源文件引用格式,对初次标识修改文件中的每个引用资源文件的文本文件的内容进行名称匹配,确定每个引用资源文件的文本文件对应的资源文件的引用位置;将每个功能模块对应的模块标识,添加到初次标识修改文件中的每个引用资源文件的文本文件的引用位置开头处,得到每个功能模块的标识修改文件。
示例性地,以XML文件为例,判断初次标识修改文件中的一个XML文件中的资源文件名称的引用信息是否符合第一引用格式,第一引用格式为‘@文件夹名称/资源文件名称’;当符合第一引用格式时,将初次标识修改文件所属的功能模块对应的模块名称,添加到初次标识修改文件中的一个XML文件中的资源文件名称的开头处,得到初次标识修改文件中的一个XML文件对应的标识修改文件包括‘@文件夹名称/模块名称_资源文件名称’。
在一些实施例中,文件处理装置利用更新后的正则表达式,对初次标识修改文件中的引用资源文件的文本文件进行标识匹配,得到资源文件的初始引用位置、以及资源文件的引用信息;判断资源文件的引用信息是否符合预设资源文件引用格式;当资源文件的引用信息符合预设资源文件引用格式时,将资源文件的初始引用位置,作为资源文件的引用位置。
文件处理装置中的正则引擎在初次标识修改文件中的每个引用资源文件的文本文件中查找至少一个资源文件名称,当在初次标识修改文件中的每个引用资源文件的文本文件中查找到资源文件名称时,将查找到的资源文件名称在每个引用资源文件的文本文件中的位置,作为每个引用资源文件的文本文件对应的资源文件的初始引用位置,并在每个引用资源文件的文本文件中的初始引用位置处提取信息,得到初次标识修改文件中的每个引用资源文件的文本文件对应的资源文件的引用信息;判断资源文件的引用信息是否符合预设资源文件引用格式,当符合预设资源引用格式时,将初次标识修改文件中的每个引用资源文件的文本文件对应的资源文件的初始引用位置,作为初次标识修改文件中的每个引用资源文件的文本文件对应的资源文件的引用位置。
在一些实施例中,文件处理装置中的文件标识处理单元在得到每个资源文件的初始前缀信息之后,还由所有资源文件对应的初始前缀信息组成前缀信息;文件标识处理单元中的正则引擎利用更新后的正则表达式,对初次标识修改文件中的每个引用资源文件的文本文件进行标识匹配,得到初次标识修改文件中的每个引用资源文件的文本文件对应的资源文件的初始引用位置、以及初次标识修改文件中的每个引用资源文件的文本文件对应的资源文件的引用信息;判断资源文件的引用信息是否符合预设资源文件引用格式;当资源文件的引用信息符合预设资源文件引用格式时,将资源文件的初始引用位置,作为初次标识修改文件中的每个引用资源文件的文本文件对应的资源文件的引用位置,并判断资源文件的引用信息中是否包括前缀信息中的一个;如果是,利用每个功能模块对应的模块标识,对初次标识修改文件中的每个引用资源文件的文本文件中资源文件的引用位置处的前缀信息进行替换,得到每个功能模块的标识修改文件;否则,将每个功能模块对应的模块标识,添加到初次标识修改文件中的每个引用资源文件的文本文件中资源文件的引用位置开头处,得到每个功能模块的标识修改文件。
进一步地,文件处理模块在得到每个功能模块的标识修改文件之后,向应用程序业务开发模块发送修改完成指令,响应于修改完成指令,应用程序业务开发模块对所有功能模块的标识修改文件进行组装,成功生成应用程序的运行文件。
需要说明的是,除了图2中所示的步骤S202和步骤S203的执行顺序,还可以同时执行步骤S202和步骤S203,或者,先执行步骤S203再执行步骤S202。
示例性地,以安卓系统的购物应用程序为例,一种文件处理方法包括:
A1、当接收到标识修改请求时,响应于标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;每个功能模块的初始文件包括Java源代码文件、Kotlin源代码文件和至少一个资源文件夹,至少一个资源文件夹包括至少一个资源文件;
示例性地,购物应用程序的至少一个功能模块包括订单模块、用户模块和支付模块,文件处理装置获取购物应用程序的至少一个功能模块中每个功能模块的初始文件;支付模块的初始文件包括Java目录和res目录,Java目录包括Java源代码文件和Kotlin源代码文件,res目录包括至少一个资源文件夹,至少一个资源文件夹包括layout资源文件夹、drawable资源文件夹、anim资源文件夹、color资源文件夹、menu资源文件夹、raw资源文件夹、xml资源文件夹、mipmap资源文件夹和values资源文件夹;其中,layout资源文件夹包括三个资源文件,分别是‘activity_main.xml’、‘layout_bottom.xml’和‘layout_top.xml’。
A2、利用预设正则表达式,对每个功能模块的至少一个资源文件夹进行标识提取,得到每个功能模块的至少一个资源文件夹对应的文件标识;
示例性地,文件标识包括资源文件名称,以支付模块的layout资源文件夹为例,文件处理装置中的正则引擎利用预设正则表达式,对支付模块的layout资源文件夹进行名称提取,得到支付模块的layout资源文件夹对应的资源文件名称,支付模块的layout资源文件夹对应的资源文件名称包括:activity_main、layout_bottom和layout_top。
同理,文件处理装置中的正则引擎利用预设正则表达式,对支付模块的所有资源文件夹进行名称提取,得到支付模块的至少一个资源文件夹中每个资源文件夹对应的资源文件名称。
A3、利用每个功能模块的初始文件对应的文件标识,对预设正则表达式进行更新,得到每个功能模块对应的更新后的正则表达式;
示例性地,以支付模块为例,文件处理装置中的文件标识处理单元将支付模块的所有资源文件夹对应的资源文件名称进行组合,生成支付模块对应的更新后的正则表达式;其中,支付模块的layout资源文件夹对应的资源文件名称包括:activity_main、layout_bottom和layout_top,更新后的正则表达式也包括activity_main、layout_bottom和layout_top。
A4、根据预设模块标识生成规则,生成每个功能模块对应的模块标识;预设模块标识生成规则表征功能模块和模块标识的对应关系;
示例性地,模块标识包括模块名称,预设模块标识生成规则为将每个功能模块的功能描述信息的小写单词作为每个功能模块对应的模块名称;以支付模块为例,文件处理装置中的模块标识生成单元按照预设模块标识生成规则,生成支付模块对应的模块名称为pay_module。
A5、根据至少一个资源文件和每个功能模块对应的模块标识,对初始文件中的至少一个资源文件进行标识修改,得到每个功能模块的初次标识修改文件;至少一个资源文件包括XML文件;
示例性地,以支付模块为例,文件处理装置中的文件标识处理单元采用下划线的连接方式,将支付模块的模块名称,添加到支付模块的初始文件中的至少一个资源文件的资源文件名称前,得到支付模块的初次标识修改文件。
示例性地,支付模块的初次标识修改文件中的layout资源文件夹包括三个资源文件,为:‘pay_module_activity_main.xml’、‘pay_module_layout_bottom.xml’和‘pay_module_layout_top.xml’。
A6、根据每个功能模块对应的模块标识、更新后的正则表达式、以及预设资源文件引用格式,对初次标识修改文件中的Java源代码文件、Kotlin源代码文件和XML文件进行标识修改,得到每个功能模块的标识修改文件。
示例性地,以支付模块为例,更新后的正则表达式包括支付模块的所有资源文件夹对应的至少一个资源文件名称,预设资源文件引用格式包括:XML文件对应的第一引用格式、Java源代码文件对应的第二引用格式、Kotlin源代码文件对应的第三引用格式;文件处理装置根据支付模块的模块名称、至少一个资源文件名称和第一引用格式,对初次标识修改文件中的XML文件进行名称修改,得到支付模块的第一标识修改文件;根据支付模块的模块名称、至少一个资源文件名称和第二引用格式,对第一标识修改文件中的Java源代码文件进行名称修改,得到支付模块的第二标识修改文件;根据支付模块的模块名称、至少一个资源文件名称和第三引用格式,对第二标识修改文件中的Kotlin源代码文件进行名称修改,得到支付模块的标识修改文件。
示例性地,以支付模块的一个XML文件为例,该XML文件的文本包括:
<include layout=”@layout/layout_top”/>
<include layout=”@layout/layout_bottom”/>
文件处理装置根据至少一个资源文件名称和第一引用格式,从该XML文件的文本中确定符合第一引用格式的资源文件的引用信息,符合第一引用格式的资源文件的引用信息为@layout/layout_top和@layout/layout_bottom;利用支付模块的模块名称pay_module,对该XML文件中的资源文件的引用信息进行名称修改,得到该XML文件对应的修改文本如下所示:
<include layout=”@layout/pay_module_layout_top”/>
<include layout=”@layout/pay_module_layout_bottom”/>
示例性地,以一个Java源代码文件为例,该Java源代码文件中包括Kotlin代码,该Java源代码文件的文本包括:
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity:AppCompatActivity(){
override fun onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
文件处理装置根据至少一个资源文件名称、第二引用格式和第三引用格式,从该Java源代码文件的文本中确定符合第二引用格式或第三引用格式的资源文件的引用信息,符合第二引用格式的资源文件的引用信息为kotlinx.android.synthetic.main.activity_main,符合第三引用格式的资源文件的引用信息为R.layout.activity_main;利用支付模块的模块名称pay_module,对该Java源代码文件中的资源文件的引用信息进行名称修改,得到该Java源代码文件对应的修改文本如下所示:
import kotlinx.android.synthetic.main.pay_module_activity_main.*
class MainActivity:AppCompatActivity(){
override fun onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.pay_module_activity_main)
进一步地,文件处理装置在得到每个功能模块的标识修改文件之后,向购物应用程序的应用程序业务开发模块发送修改完成指令,应用程序业务开发模块对支付模块的标识修改文件、用户模块的标识修改文件、以及订单模块的标识修改文件进行组装,成功生成购物应用程序的运行文件。
需要说明的是,步骤A5和步骤A6可以被同时执行或被调换先后顺序后执行。
可以理解的是,文件处理装置对每个功能模块的初始文件进行标识提取,得到每个功能模块对应的更新后的正则表达式,再利用更新后的正则表达式、每个功能模块对应的模块标识,对每个功能模块的初始文件进行标识修改,得到每个功能模块的标识修改文件;由于更新后的正则表达式表征每个功能模块的初始文件对应的文件标识,利用更新后的正则表达式就可以检索出每个功能模块的初始文件中的文件标识,再利用每个功能模块对应的模块标识对初始文件中检索出的文件标识进行修改,就能够得到每个功能模块的标识修改文件,由于每个功能模块的标识修改文件是利用每个功能模块对应的模块标识得到的,因此,每个功能模块的标识修改文件中的文件标识与至少一个功能模块中其他功能模块的标识修改文件中的文件标识不同,即实现了资源自动重命名,进而提高了资源重命名的效率、降低了资源重命名的错误率。
实施例二
基于本发明实施例一的同一发明构思,进行进一步的说明。
本发明实施例提供一种文件处理装置1,该装置1包括:获取单元11、文件标识处理单元12和模块标识生成单元13;其中,
获取单元11,用于当接收到标识修改请求时,响应于标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;
文件标识处理单元12,用于利用预设正则表达式,对每个功能模块的初始文件进行标识提取,得到每个功能模块对应的更新后的正则表达式;预设正则表达式表征标识提取规则,更新后的正则表达式表征初始文件对应的文件标识;
模块标识生成单元13,用于根据预设模块标识生成规则,生成每个功能模块对应的模块标识;预设模块标识生成规则表征功能模块和模块标识的对应关系;
文件标识处理单元12,还用于利用更新后的正则表达式、以及每个功能模块对应的模块标识,对每个功能模块的初始文件进行标识修改,得到每个功能模块的标识修改文件。
在一些实施例中,每个功能模块的初始文件包括至少一个资源文件夹;
文件标识处理单元12,具体用于针对至少一个资源文件夹中每个文件夹,利用预设正则表达式,对每个文件夹中的资源文件进行标识提取,得到每个文件夹对应的文件标识;及根据每个文件夹和每个文件夹对应的文件标识,生成每个文件夹对应的正则表达式,进而得到至少一个资源文件夹对应的至少一个正则表达式;以及将至少一个资源文件夹对应的至少一个正则表达式,作为更新后的正则表达式。
在一些实施例中,文件标识处理单元12,具体用于从每个文件夹中提取文件夹标识;以及将文件夹标识、以及每个文件夹对应的文件标识进行组合,生成每个文件夹对应的正则表达式。
在一些实施例中,每个功能模块的初始文件包括至少一个资源文件和引用资源文件的文本文件;
文件标识处理单元12,具体用于根据至少一个资源文件和每个功能模块对应的模块标识,对初始文件中的至少一个资源文件进行标识修改,得到每个功能模块的初次标识修改文件;以及利用每个功能模块对应的模块标识、更新后的正则表达式、以及预设资源文件引用格式,对初次标识修改文件中的引用资源文件的文本文件进行标识修改,得到每个功能模块的标识修改文件。
在一些实施例中,文件标识处理单元12,具体用于针对至少一个资源文件中每个资源文件,从每个资源文件中提取文件标识;及将每个功能模块对应的模块标识、以及文件标识进行组合,得到每个资源文件的文件修改标识;以及利用每个资源文件的文件修改标识,对初始文件中的每个资源文件的文件标识进行替换,得到每个功能模块的初次标识修改文件。
在一些实施例中,文件标识处理单元12,具体用于根据预设资源文件引用格式和更新后的正则表达式,从引用资源文件的文本文件中确定资源文件的引用位置;以及根据资源文件的引用位置、以及每个功能模块对应的模块标识,对初次标识修改文件中的引用资源文件的文本文件进行修改,得到每个功能模块的标识修改文件。
在一些实施例中,文件标识处理单元12,具体用于利用更新后的正则表达式,对初次标识修改文件中的引用资源文件的文本文件进行标识匹配,得到资源文件的初始引用位置、以及资源文件的引用信息;及判断资源文件的引用信息是否符合预设资源文件引用格式;以及当资源文件的引用信息符合预设资源文件引用格式时,将资源文件的初始引用位置,作为资源文件的引用位置。
在一些实施例中,引用资源文件的文本文件包括可扩展标记语言文件和源代码文件;预设资源文件引用格式包括可扩展标记语言文件对应的第一引用格式、以及源代码文件对应的第二引用格式。
在一些实施例中,初始文件对应的文件标识包括资源文件名称;每个功能模块对应的模块标识包括模块名称。
需要说明的是,在实际应用中,上述获取单元11、文件标识处理单元12和模块标识生成单元13,还可由位于文件处理装置2上的处理器24实现,具体为CPU(CentralProcessing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(DigitalSignal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field ProgrammableGate Array)等实现。
本发明实施例还提供了一种文件处理装置2,如图3所示,该装置2包括:处理器24、存储器25和通信总线26,存储器25通过通信总线26与处理器24进行通信,存储器25存储处理器24可执行的一个或者多个文件处理程序,当一个或者多个文件处理程序被执行时,通过处理器24执行如前述实施例所述的任意一种文件处理方法。
在实际应用中,存储器25可以是易失性第一存储器(volatile memory),例如随机存取第一存储器(Random-Access Memory,RAM);或者非易失性第一存储器(non-volatilememory),例如只读第一存储器(Read-Only Memory,ROM),快闪第一存储器(flashmemory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的第一存储器的组合,并向处理器24提供程序和数据。
本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有文件处理程序,当所述文件处理程序被处理器24执行时,实现所述处理器24执行前述实施例所述的任意一种文件处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程文件处理设备的处理器以产生一个机器,使得通过计算机或其他可编程文件处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程文件处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程文件处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本发明所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本发明所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (20)
1.一种文件处理方法,其特征在于,所述方法包括:
当接收到标识修改请求时,响应于所述标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;
利用预设正则表达式,对所述每个功能模块的初始文件进行标识提取,得到所述每个功能模块对应的更新后的正则表达式;所述预设正则表达式表征标识提取规则,所述更新后的正则表达式表征所述初始文件对应的文件标识;
根据预设模块标识生成规则,生成所述每个功能模块对应的模块标识;所述预设模块标识生成规则表征功能模块和模块标识的对应关系;
利用所述更新后的正则表达式、以及所述每个功能模块对应的模块标识,对所述每个功能模块的初始文件进行标识修改,得到所述每个功能模块的标识修改文件。
2.根据权利要求1所述的方法,其特征在于,所述每个功能模块的初始文件包括至少一个资源文件夹;
所述利用预设正则表达式,对所述每个功能模块的初始文件进行标识提取,得到所述每个功能模块对应的更新后的正则表达式,包括:
针对所述至少一个资源文件夹中每个文件夹,利用所述预设正则表达式,对所述每个文件夹中的资源文件进行标识提取,得到所述每个文件夹对应的文件标识;
根据所述每个文件夹和所述每个文件夹对应的文件标识,生成所述每个文件夹对应的正则表达式,进而得到所述至少一个资源文件夹对应的至少一个正则表达式;
将所述至少一个资源文件夹对应的至少一个正则表达式,作为所述更新后的正则表达式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述每个文件夹和所述每个文件夹对应的文件标识,生成所述每个文件夹对应的正则表达式,包括:
从所述每个文件夹中提取文件夹标识;
将所述文件夹标识、以及所述每个文件夹对应的文件标识进行组合,生成所述每个文件夹对应的正则表达式。
4.根据权利要求1所述的方法,其特征在于,所述每个功能模块的初始文件包括至少一个资源文件和引用资源文件的文本文件;
所述利用所述更新后的正则表达式、以及所述每个功能模块对应的模块标识,对所述每个功能模块的初始文件进行标识修改,得到所述每个功能模块的标识修改文件,包括:
根据所述至少一个资源文件和所述每个功能模块对应的模块标识,对所述初始文件中的所述至少一个资源文件进行标识修改,得到所述每个功能模块的初次标识修改文件;
利用所述每个功能模块对应的模块标识、所述更新后的正则表达式、以及预设资源文件引用格式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识修改,得到所述每个功能模块的标识修改文件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个资源文件和所述每个功能模块对应的模块标识,对所述初始文件中的所述至少一个资源文件进行标识修改,得到所述每个功能模块的初次标识修改文件,包括:
针对所述至少一个资源文件中每个资源文件,从所述每个资源文件中提取文件标识;
将所述每个功能模块对应的模块标识、以及所述文件标识进行组合,得到所述每个资源文件的文件修改标识;
利用所述每个资源文件的文件修改标识,对所述初始文件中的所述每个资源文件的文件标识进行替换,得到所述每个功能模块的初次标识修改文件。
6.根据权利要求4所述的方法,其特征在于,所述利用所述每个功能模块对应的模块标识、所述更新后的正则表达式、以及预设资源文件引用格式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识修改,得到所述每个功能模块的标识修改文件,包括:
根据所述预设资源文件引用格式和所述更新后的正则表达式,从所述引用资源文件的文本文件中确定资源文件的引用位置;
根据所述资源文件的引用位置、以及所述每个功能模块对应的模块标识,对所述初次标识修改文件中的所述引用资源文件的文本文件进行修改,得到所述每个功能模块的标识修改文件。
7.根据权利要求6所述的方法,其特征在于,所述根据所述预设资源文件引用格式和所述更新后的正则表达式,从所述引用资源文件的文本文件中确定资源文件的引用位置,包括:
利用所述更新后的正则表达式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识匹配,得到资源文件的初始引用位置、以及资源文件的引用信息;
判断所述资源文件的引用信息是否符合所述预设资源文件引用格式;
当所述资源文件的引用信息符合所述预设资源文件引用格式时,将所述资源文件的初始引用位置,作为所述资源文件的引用位置。
8.根据权利要求4所述的方法,其特征在于,所述引用资源文件的文本文件包括可扩展标记语言文件和源代码文件;所述预设资源文件引用格式包括所述可扩展标记语言文件对应的第一引用格式、以及所述源代码文件对应的第二引用格式。
9.根据权利要求1所述的方法,其特征在于,所述初始文件对应的文件标识包括资源文件名称;所述每个功能模块对应的模块标识包括模块名称。
10.一种文件处理装置,其特征在于,所述装置包括:获取单元、文件标识处理单元和模块标识生成单元;其中,
所述获取单元,用于当接收到标识修改请求时,响应于所述标识修改请求,获取应用程序的至少一个功能模块中每个功能模块的初始文件;
所述文件标识处理单元,用于利用预设正则表达式,对所述每个功能模块的初始文件进行标识提取,得到所述每个功能模块对应的更新后的正则表达式;所述预设正则表达式表征标识提取规则,所述更新后的正则表达式表征所述初始文件对应的文件标识;
所述模块标识生成单元,用于根据预设模块标识生成规则,生成所述每个功能模块对应的模块标识;所述预设模块标识生成规则表征功能模块和模块标识的对应关系;
所述文件标识处理单元,还用于利用所述更新后的正则表达式、以及所述每个功能模块对应的模块标识,对所述每个功能模块的初始文件进行标识修改,得到所述每个功能模块的标识修改文件。
11.根据权利要求10所述的装置,其特征在于,所述每个功能模块的初始文件包括至少一个资源文件夹;
所述文件标识处理单元,具体用于针对所述至少一个资源文件夹中每个文件夹,利用所述预设正则表达式,对所述每个文件夹中的资源文件进行标识提取,得到所述每个文件夹对应的文件标识;及根据所述每个文件夹和所述每个文件夹对应的文件标识,生成所述每个文件夹对应的正则表达式,进而得到所述至少一个资源文件夹对应的至少一个正则表达式;以及将所述至少一个资源文件夹对应的至少一个正则表达式,作为所述更新后的正则表达式。
12.根据权利要求11所述的装置,其特征在于,
所述文件标识处理单元,具体用于从所述每个文件夹中提取文件夹标识;以及将所述文件夹标识、以及所述每个文件夹对应的文件标识进行组合,生成所述每个文件夹对应的正则表达式。
13.根据权利要求10所述的装置,其特征在于,所述每个功能模块的初始文件包括至少一个资源文件和引用资源文件的文本文件;
所述文件标识处理单元,具体用于根据所述至少一个资源文件和所述每个功能模块对应的模块标识,对所述初始文件中的所述至少一个资源文件进行标识修改,得到所述每个功能模块的初次标识修改文件;以及利用所述每个功能模块对应的模块标识、所述更新后的正则表达式、以及预设资源文件引用格式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识修改,得到所述每个功能模块的标识修改文件。
14.根据权利要求13所述的装置,其特征在于,
所述文件标识处理单元,具体用于针对所述至少一个资源文件中每个资源文件,从所述每个资源文件中提取文件标识;及将所述每个功能模块对应的模块标识、以及所述文件标识进行组合,得到所述每个资源文件的文件修改标识;以及利用所述每个资源文件的文件修改标识,对所述初始文件中的所述每个资源文件的文件标识进行替换,得到所述每个功能模块的初次标识修改文件。
15.根据权利要求13所述的装置,其特征在于,
所述文件标识处理单元,具体用于根据所述预设资源文件引用格式和所述更新后的正则表达式,从所述引用资源文件的文本文件中确定资源文件的引用位置;以及根据所述资源文件的引用位置、以及所述每个功能模块对应的模块标识,对所述初次标识修改文件中的所述引用资源文件的文本文件进行修改,得到所述每个功能模块的标识修改文件。
16.根据权利要求15所述的装置,其特征在于,
所述文件标识处理单元,具体用于利用所述更新后的正则表达式,对所述初次标识修改文件中的所述引用资源文件的文本文件进行标识匹配,得到资源文件的初始引用位置、以及资源文件的引用信息;及判断所述资源文件的引用信息是否符合所述预设资源文件引用格式;以及当所述资源文件的引用信息符合所述预设资源文件引用格式时,将所述资源文件的初始引用位置,作为所述资源文件的引用位置。
17.根据权利要求13所述的装置,其特征在于,所述引用资源文件的文本文件包括可扩展标记语言文件和源代码文件;所述预设资源文件引用格式包括所述可扩展标记语言文件对应的第一引用格式、以及所述源代码文件对应的第二引用格式。
18.根据权利要求10所述的装置,其特征在于,所述初始文件对应的文件标识包括资源文件名称;所述每个功能模块对应的模块标识包括模块名称。
19.一种文件处理装置,其特征在于,所述装置包括:处理器、存储器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的一个或者多个程序,当所述一个或者多个程序被执行时,通过所述处理器执行如权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序被至少一个处理器执行时,导致所述至少一个处理器执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425861.7A CN111984595B (zh) | 2019-05-21 | 2019-05-21 | 一种文件处理方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425861.7A CN111984595B (zh) | 2019-05-21 | 2019-05-21 | 一种文件处理方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984595A CN111984595A (zh) | 2020-11-24 |
CN111984595B true CN111984595B (zh) | 2023-09-01 |
Family
ID=73436266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910425861.7A Active CN111984595B (zh) | 2019-05-21 | 2019-05-21 | 一种文件处理方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984595B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760249B (zh) * | 2021-01-05 | 2024-08-16 | 北京沃东天骏信息技术有限公司 | 程序文件的处理方法、装置及设备 |
CN113408250B (zh) * | 2021-06-25 | 2023-07-18 | 网易(杭州)网络有限公司 | 一种项目文件的处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881496A (zh) * | 2015-06-15 | 2015-09-02 | 北京金山安全软件有限公司 | 一种文件名称识别及文件清理方法及装置 |
CN107688541A (zh) * | 2017-09-15 | 2018-02-13 | 广州酷狗计算机科技有限公司 | 文件评审方法、装置、服务器及计算机可读存储介质 |
CN107967415A (zh) * | 2017-12-11 | 2018-04-27 | 北京奇虎科技有限公司 | 资源混淆保护方法、系统及终端装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255046B2 (en) * | 2017-05-25 | 2019-04-09 | International Business Machines Corporation | Source code analysis and adjustment system |
-
2019
- 2019-05-21 CN CN201910425861.7A patent/CN111984595B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881496A (zh) * | 2015-06-15 | 2015-09-02 | 北京金山安全软件有限公司 | 一种文件名称识别及文件清理方法及装置 |
CN107688541A (zh) * | 2017-09-15 | 2018-02-13 | 广州酷狗计算机科技有限公司 | 文件评审方法、装置、服务器及计算机可读存储介质 |
CN107967415A (zh) * | 2017-12-11 | 2018-04-27 | 北京奇虎科技有限公司 | 资源混淆保护方法、系统及终端装置 |
Non-Patent Citations (1)
Title |
---|
基于正则表达式的文件服务器电子文档归置辅助系统设计;林侠;魏树权;;科技广场(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111984595A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032662B (zh) | 代码文件生成方法、装置、计算机设备和存储介质 | |
CN110968325B (zh) | 一种小程序转换方法及装置 | |
CN105760184B (zh) | 一种加载组件的方法和装置 | |
CN107783770B (zh) | 页面配置更新方法、装置、服务器和介质 | |
CN102567053A (zh) | 一种软件版本回退的方法及装置 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
CN111984595B (zh) | 一种文件处理方法及装置、存储介质 | |
CN104572644A (zh) | 数据库更新装置和数据库更新方法 | |
CN111831920A (zh) | 用户需求分析方法、装置、计算机设备及存储介质 | |
CN108446110B (zh) | Lua脚本生成方法、装置、终端及计算机可读介质 | |
US8196093B2 (en) | Apparatus and method for componentizing legacy system | |
CN111984892A (zh) | 页面访问方法、装置、设备及存储介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN107491460B (zh) | 适配系统的数据映射方法及装置 | |
JP6579095B2 (ja) | プログラム書き込み方法、装置の制御方法、プログラム書き込みのためのプログラム、および装置の制御プログラム | |
CN114942781A (zh) | 一种用于数据读取的数据格式适配方法及装置 | |
CN111881220B (zh) | 列表存储下的数据操作方法、装置、电子设备和存储介质 | |
CN114218261A (zh) | 数据查询方法、装置、存储介质以及电子设备 | |
CN114201176A (zh) | 一种智能合约编译匹配方法、装置、设备和存储介质 | |
CN113436699A (zh) | 新冠核酸检测报告生成方法、系统、电子设备和存储介质 | |
AU2018313995B2 (en) | Systems and methods for providing globalization features in a service management application interface | |
KR100938277B1 (ko) | 압축포맷의 파일 압축과 복원 장치 및 방법 | |
US10726109B2 (en) | Method and system for identifying whether an application is genuine by means of digital watermarks | |
JP2013041526A (ja) | 情報処理装置、データ移行用ツール生成方法およびプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |