CN107832403A - 目录文件管理方法、装置、电子终端及可读存储介质 - Google Patents
目录文件管理方法、装置、电子终端及可读存储介质 Download PDFInfo
- Publication number
- CN107832403A CN107832403A CN201711062225.XA CN201711062225A CN107832403A CN 107832403 A CN107832403 A CN 107832403A CN 201711062225 A CN201711062225 A CN 201711062225A CN 107832403 A CN107832403 A CN 107832403A
- Authority
- CN
- China
- Prior art keywords
- file
- catalogue
- resource
- resource file
- copied
- 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.)
- Granted
Links
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
- G06F16/3323—Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种目录文件管理方法、装置、电子终端及可读存储介质。所述方法包括:在应用程序软件功能模块的组件化过程中,通过监听函数监听针对资源文件目录的文件操作事件,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件;当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串;以及当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种目录文件管理方法、装置、电子终端及可读存储介质。
背景技术
在Android组件化的过程中,各个组件可能都会迁移、改变原始代码中的资源文件,由于在最终的打包阶段各个资源文件会进行合并,如果组件内部存在相同的资源名称的时候就会出现编译冲突的问题,最后会导致页面整个系统编译失败。
为了解决该问题避免该问题的发生,可以在组件内部的资源文件需要统一添加上组件名称的前缀,这种规定是能够有效的避免组件之间出现资源冲突的问题的,但是也带来了一系列的问题,每次移动或者创建资源文件的时候都需要手动修改资源文件的名称,当这种操作次数增多的时候就会大量的损耗开发者的时间,降低开发效率,并且会带来很多潜在的问题的可能性,例如,移动文件时忘记修改、修改的名称出现输入错误等问题。
发明内容
有鉴于此,本发明实施例的目的在于提供一种目录文件管理方法、装置、电子终端及可读存储介质。
本发明实施例提供的一种目录文件管理方法,所述方法包括:
在应用程序软件功能模块的组件化过程中,通过监听函数监听针对资源文件目录的文件操作事件,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件;
当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串;以及
当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
本发明实施例还提供一种目录文件管理装置,所述装置包括:
监听模块,用于通过监听函数监听针对资源文件目录的文件操作事件,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件;
检测模块,用于当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串;
更名模块,用于当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
本发明实施例还提供一种电子终端,包括:
存储器;
处理器;
安装/存储于所述存储器并由所述处理器执行的上述的目录文件管理装置。
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述的目录文件管理方法。
与现有技术相比,本发明实施例提供的目录文件管理方法、装置、电子终端及可读存储介质,通过在监听到资源文件目录发生文件操作事件时,自动对需要修改的资源文件进行重命名,可以有效地避免组件内部存在相同的资源名称的时候就会出现编译冲突的问题,最后会导致页面整个系统编译失败的问题,另外,开发者不用再关注相应的文件名称,程序会自动对其进行检测并自动对文件添加模块名称前缀,这样能够有效的提高组件化进程中的开发效率并降低出错的概率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的电子终端的方框示意图。
图2为本发明较佳实施例提供的目录文件管理方法的流程图。
图3为本发明较佳实施例提供的目录文件管理方法的步骤S103的详细流程图。
图4为本发明另一较佳实施例提供的目录文件管理方法的部分流程图。
图5为本发明再一较佳实施例提供的目录文件管理方法的部分流程图。
图6为本发明较佳实施例提供的目录文件管理装置的功能模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是所述电子终端的方框示意图。所述电子终端100包括目录文件管理装置110、存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子终端100的结构造成限定。例如,电子终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
所述存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述目录文件管理装置110包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器111中或固化在所述电子终端100的操作系统(Operating System,OS)中的软件功能模块。所述处理器113用于执行存储器中存储的可执行模块,例如所述目录文件管理装置110包括的软件功能模块或计算机程序。
其中,所述存储器111可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的电子终端100所执行的方法可以应用于处理器113中,或者由处理器113实现。
所述处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口114将各种输入/输入装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
所述输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。
所述显示单元116在所述电子终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
请参阅图2,是本发明较佳实施例提供的应用于图1所示的电子终端100的目录文件管理方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤S101,在应用程序软件功能模块的组件化过程中,通过监听函数监听针对资源文件目录的文件操作事件。
本实施例中,应用程序的组件化是指解耦复杂系统时将多个功能模块拆分、重组的过程,有多种属性、状态反映其内部特性。在组件化过程中会产生模块的拆分、模块的重组等过程,其中,模块的拆分、模块的重组就会产生文件操作事件。
本实施例中,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件。
在一种实施方式中,本实施中的方法应用于基于Windows平台的电子终端中。下面以基于Windows平台实行所述目录文件管理方法进行描述本实施例中的方法。在所述电子终端中通过文件观察者类FileSystemWatcher的构造函数来获取到该文件观察者类的一个实例化对象fileSystemWatcher,然后对该文件观察者类的对象设置监听函数。
在一个实施例中,所述监听函数可以包括如下内容:
fileSystemWatcher.Renamed+=fsWather_Renamed;
fileSystemWatcher.Changed+=fsWather_Changed;
fileSystemWatcher.Created+=fsWather_Created;
fileSystemWatcher.Deleted+=fsWather_Deleted;
其中,fileSystemWatcher.Renamed表示的是文件观察者中的任意文件发生需要重命名的事件的时候会触发fsWather_Renamed函数的执行,其中fsWather_Renamed函数是预先定义的自定义业务方法。
所述fileSystemWatcher.Changed+=fsWather_Changed表示文件发生改变的时候会触发fsWather_Changed方法,当文件创建的时候会触发fsWather_Created方法,当文件删除的时候会触发fsWather_Deleted方法。
步骤S102,当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串。
本实施例中,所述需要重命名的事件可包括文件创建、文件改变等事件。
在一种实施方式中,所述fsWather_Renamed函数被触发的时候表示出现了需要重命名的资源文件。本实例中,资源文件重命名的时,首先,通过调用getNewName函数的调用来获取所述资源文件的文件名。然后,通过contains("modeName")方法来判定该资源文件的文件名中是否包含该资源文件所属的功能模块对应的预设字符串。在一个实例中,所述预设字符串可以是所述资源文件所属的功能模块的模块名称"modeName"。如果资源文件的文件名未包含了所属的功能模块的模块名称"modeName",则执行步骤S103。
步骤S103,当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
在一个实例中,电子终端调用rename函数来对所述资源文件进行重命名。在一种实施方式中,所述预设字符串可以添加到所述资源文件的文件名的前端。例如,所述资源文件的文件名为a,所述资源文件的重命名的名称组合可以是"modeName"+a。在另一种实施方式中,所述预设字符串可以添加到所述资源文件的文件名的后端。例如,所述资源文件的文件名为a,所述资源文件的重命名的名称组合可以是a+"modeName"。在其它实施方式中,所述预设字符串也可以设置在所述资源文件的文件名中的其它位置。
本实施例中,如图3所示,所述步骤S103包括步骤S1031至步骤S1033。
步骤S1031,启动一线程获取预先为所述资源文件设置的锁。
步骤S1032,当所述线程成功获取到预先为所述资源文件设置的锁时,根据所述锁获得所述资源文件的处理权限,然后将所述预设字符串添加到该文件的文件名中。
步骤S1033,当所述线程未成功获取到预先为所述资源文件设置的锁时,间隔指定时间后再次获取。
在一个实际流程中,若线程1对该资源文件进行操作时,线程1已经获取该资源文件的锁,在线程1对资源文件进行处理过程中,线程2需要操作该资源文件时,也会去主动获取改资源文件的锁,线程2不能获取该资源文件的锁,线程2的任务挂起一段时间后再尝试获取该资源文件的锁,当线程1执行完成后需要主动释放锁后,所述线程2才能成功获取该资源文件的锁,线程2获取到该资源文件的锁才能执行任务。其中,任意线程执行完任务后,主动释放所述资源文件的锁,以使其它线程能够成功获取该资源文件的锁。
本实施例中的方法通过对资源文件对象设置锁的方式有效的避免了并发可能导致的资源文件操作失败的问题,极大的提高了资源文件操作的安全性。
本实施例中,如图4所示,所述方法还包括步骤S104至步骤S107。
步骤S104,当监听到文件创建事件时,若该文件创建事件为复制文件到所述资源文件目录,判断当前磁盘的剩余空间的大小是否大于待复制文件的大小。
步骤S105,若当前磁盘的剩余空间为s,但小于待复制文件的大小,则新建缓存文件。
步骤S106,将所述待复制文件中大小为s的内容读取到内存中,再从所述内存中写入所述新建缓存文件。
步骤S107,删除所述待复制文件中已写入所述新建缓存文件中对应的内容。
重复执行步骤S106和S107直到所述待复制文件全部复制至所述新建缓存文件中。
通过上述方法可以在磁盘内存不足时也能够成功复制待复制文件,提高资源文件的操作成功率。
本实施例中,如图5所示,所述方法还包括步骤S108至步骤S1011。
步骤S108,获取所述待复制文件的第一MD5值,并将所述待复制文件读取到内存中作为文件的内存缓存块。
所述MD5(Message Digest Algorithm MD5,消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法)。MD5将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
步骤S109,计算所述新建缓存文件的第二MD5值。
步骤S1010,判断所述第一MD5值和所述第二MD5值是否相同。
步骤S1011,若所述MD5值和所述第二MD5值不相同,则删除所述新建缓存文件,并将所述待复制文件的内存缓存块的内容写入所述待复制文件中。
返回执行所述步骤S106,直到所述第一MD5值和所述第二MD5值相同。
通过对比第一MD5值和所述第二MD5值可以判断复制的资源文件否复制成功。
根据本发明实施例提供的目录文件管理方法,通过在监听到资源文件目录发生文件操作事件时,自动对需要修改的资源文件进行重命名,可以有效地避免组件内部存在相同的资源名称的时候就会出现编译冲突的问题,最后会导致页面整个系统编译失败的问题,另外,开发者不用再关注相应的文件名称,程序会自动对其进行检测并自动对文件添加模块名称前缀,这样能够有效的提高组件化进程中的开发效率并降低出错的概率。
请参阅图6,是本发明较佳实施例提供的图1所示的目录文件管理装置110的功能模块示意图。所述目录文件管理装置110中的各个模块,单元用于执行上述目录文件管理方法实施例中的各个步骤。所述目录文件管理装置110包括监听模块1101、检测模块1102及更名模块1103。
所述监听模块1101,用于通过监听函数监听针对资源文件目录的文件操作事件。
本实施例中,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件;
所述检测模块1102,用于当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串;
所述更名模块1103,用于当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
本实施例中,所述更名模块包括获取单元及更名单元。
所述获取单元,用于启动一线程获取预先为所述资源文件设置的锁。
所述更名单元,用于当所述线程成功获取到预先为所述资源文件设置的锁时,根据所述锁获得所述资源文件的处理权限,然后将所述预设字符串添加到该文件的文件名中。
所述获取单元,还用于当所述线程未成功获取到预先为所述资源文件设置的锁时,间隔指定时间后再次获取。
本实施例中,请再次参阅图6,所述目录文件管理装置110还包括:复制模块1104,用于将待复制文件进行复制。
所述复制模块1104包括:第一判断单元、新建单元、转存单元及删除单元。
所述第一判断单元,用于当监听到文件创建事件时,若该文件创建事件为复制文件到所述资源文件目录,判断当前磁盘的剩余空间的大小是否大于待复制文件的大小。
所述新建单元,用于若当前磁盘的剩余空间为s,但小于待复制文件的大小,则新建缓存文件。
所述转存单元,用于将所述待复制文件中大小为s的内容读取到内存中,再从所述内存中写入所述新建缓存文件。
所述删除单元,用于删除所述待复制文件中已写入所述新建缓存文件中对应的内容。
本实施例中,重复执行转存单元和所述删除单元直到所述待复制文件全部复制至所述新建缓存文件中。
本实施例中,请再次参阅图6,所述目录文件管理装置110还包括:获取模块1105及缓存模块1106。
所述获取模块1105,用于获取所述待复制文件的第一MD5值。
所述缓存模块1106,用于将所述待复制文件读取到内存中作为文件的内存缓存块。
所述复制模块1104还包括计算单元、第二判断单元及还原单元。
所述计算单元,用于计算所述新建缓存文件的第二MD5值。
第二判断单元,用于判断所述第一MD5值和所述第二MD5值是否相同。
还原单元,用于若所述MD5值和所述第二MD5值不相同,则删除所述新建缓存文件,并将所述待复制文件的内存缓存块的内容写入所述待复制文件中,返回执行所述转存单元,直到所述第一MD5值和所述第二MD5值相同。
关于本实施例中的其它细节,可以进一步地参考上述方法实施例中的描述,在此不再赘述。
根据本发明实施例提供的目录文件管理装置,通过在监听到资源文件目录发生文件操作事件时,自动对需要修改的资源文件进行重命名,可以有效地避免组件内部存在相同的资源名称的时候就会出现编译冲突的问题,最后会导致页面整个系统编译失败的问题,另外,开发者不用再关注相应的文件名称,程序会自动对其进行检测并自动对文件添加模块名称前缀,这样能够有效的提高组件化进程中的开发效率并降低出错的概率。
本发明实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述实施例提供的目录文件管理方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种目录文件管理方法,其特征在于,所述方法包括:
在应用程序软件功能模块的组件化过程中,通过监听函数监听针对资源文件目录的文件操作事件,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件;
当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串;以及
当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
2.如权利要求1所述的目录文件管理方法,其特征在于,所述当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中的步骤包括:
启动一线程获取预先为所述资源文件设置的锁;
当所述线程成功获取到预先为所述资源文件设置的锁时,根据所述锁获得所述资源文件的处理权限,然后将所述预设字符串添加到该文件的文件名中;
当所述线程未成功获取到预先为所述资源文件设置的锁时,间隔指定时间后再次获取。
3.如权利要求1所述的目录文件管理方法,其特征在于,所述方法还包括:
(a)当监听到文件创建事件时,若该文件创建事件为复制文件到所述资源文件目录,判断当前磁盘的剩余空间的大小是否大于待复制文件的大小;
(b)若当前磁盘的剩余空间为s,但小于待复制文件的大小,则新建缓存文件;
(c)将所述待复制文件中大小为s的内容读取到内存中,再从所述内存中写入所述新建缓存文件;
(d)删除所述待复制文件中已写入所述新建缓存文件中对应的内容;
(e)重复执行步骤(c)和(d)直到所述待复制文件全部复制至所述新建缓存文件中。
4.如权利要求3所述的目录文件管理方法,其特征在于,所述方法还包括:获取所述待复制文件的第一MD5值,并将所述待复制文件读取到内存中作为文件的内存缓存块;
在步骤(e)之后,所述方法还包括:计算所述新建缓存文件的第二MD5值;
判断所述第一MD5值和所述第二MD5值是否相同;
若所述MD5值和所述第二MD5值不相同,则删除所述新建缓存文件,并将所述待复制文件的内存缓存块的内容写入所述待复制文件中,返回执行步骤(c),直到所述第一MD5值和所述第二MD5值相同。
5.一种目录文件管理装置,其特征在于,所述装置包括:
监听模块,用于通过监听函数监听针对资源文件目录的文件操作事件,所述资源文件目录中包括应用程序的功能模块的资源文件,所述操作事件包括在所述资源文件目录中进行文件创建、文件改变、文件删除或文件重命名的事件;
检测模块,用于当监控到文件创建或文件改变事件时,检测该文件创建或文件改变事件对应的资源文件的文件名是否包含与该资源文件所属的功能模块对应的预设字符串;
更名模块,用于当所述文件名中未包含与该资源文件所属的功能模块对应的预设字符串时,将与该资源文件所属的功能模块对应的预设字符串添加到该资源文件的文件名中。
6.如权利要求5所述的目录文件管理装置,其特征在于,所述更名模块包括:
获取单元,用于启动一线程获取预先为所述资源文件设置的锁;
更名单元,用于当所述线程成功获取到预先为所述资源文件设置的锁时,根据所述锁获得所述资源文件的处理权限,然后将所述预设字符串添加到该文件的文件名中;
所述获取单元,还用于当所述线程未成功获取到预先为所述资源文件设置的锁时,间隔指定时间后再次获取。
7.如权利要求5所述的目录文件管理装置,其特征在于,所述装置还包括:复制模块,用于将待复制文件进行复制;
所述复制模块包括:第一判断单元、新建单元、转存单元及删除单元;
所述第一判断单元,用于当监听到文件创建事件时,若该文件创建事件为复制文件到所述资源文件目录,判断当前磁盘的剩余空间的大小是否大于待复制文件的大小;
所述新建单元,用于若当前磁盘的剩余空间为s,但小于待复制文件的大小,则新建缓存文件;
所述转存单元,用于将所述待复制文件中大小为s的内容读取到内存中,再从所述内存中写入所述新建缓存文件;
所述删除单元,用于删除所述待复制文件中已写入所述新建缓存文件中对应的内容。
8.如权利要求7所述的目录文件管理装置,其特征在于,所述装置还包括:
获取模块,用于获取所述待复制文件的第一MD5值;
缓存模块,用于将所述待复制文件读取到内存中作为文件的内存缓存块;
所述复制模块还包括计算单元、第二判断单元及还原单元;
所述计算单元,用于计算所述新建缓存文件的第二MD5值;
第二判断单元,用于判断所述第一MD5值和所述第二MD5值是否相同;
还原单元,用于若所述MD5值和所述第二MD5值不相同,则删除所述新建缓存文件,并将所述待复制文件的内存缓存块的内容写入所述待复制文件中,返回执行所述转存单元,直到所述第一MD5值和所述第二MD5值相同。
9.一种电子终端,其特征在于,包括:
存储器;
处理器;
存储于所述存储器并由所述处理器控制执行的权利要求5-8任一项所述的目录文件管理装置。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在执行时实现上述权利要求1-4中任意一项所述的目录文件管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711062225.XA CN107832403B (zh) | 2017-11-02 | 2017-11-02 | 目录文件管理方法、装置、电子终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711062225.XA CN107832403B (zh) | 2017-11-02 | 2017-11-02 | 目录文件管理方法、装置、电子终端及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832403A true CN107832403A (zh) | 2018-03-23 |
CN107832403B CN107832403B (zh) | 2020-05-12 |
Family
ID=61651592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711062225.XA Active CN107832403B (zh) | 2017-11-02 | 2017-11-02 | 目录文件管理方法、装置、电子终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832403B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408465A (zh) * | 2018-10-29 | 2019-03-01 | Oppo广东移动通信有限公司 | 文件归属信息记录方法、装置、存储介质及终端 |
CN111984300A (zh) * | 2020-09-08 | 2020-11-24 | 网易(杭州)网络有限公司 | 代码复制方法及装置、电子设备和计算机可读存储介质 |
CN113362489A (zh) * | 2020-03-06 | 2021-09-07 | 联合汽车电子有限公司 | 车辆测量文件的创建方法、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310387A (zh) * | 2000-02-21 | 2001-08-29 | 英业达股份有限公司 | 资源重复时的动态定位方法 |
CN1848759A (zh) * | 2005-04-28 | 2006-10-18 | 华为技术有限公司 | 多网元日志文件上载方法 |
CN1996283A (zh) * | 2005-12-31 | 2007-07-11 | 英保达股份有限公司 | 文件分类储存管理方法及系统 |
US20100235333A1 (en) * | 2009-03-16 | 2010-09-16 | International Business Machines Corporation | Apparatus and method to sequentially deduplicate data |
CN107085554A (zh) * | 2017-04-11 | 2017-08-22 | 武汉斗鱼网络科技有限公司 | 一种添加控件标识的方法和装置 |
-
2017
- 2017-11-02 CN CN201711062225.XA patent/CN107832403B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310387A (zh) * | 2000-02-21 | 2001-08-29 | 英业达股份有限公司 | 资源重复时的动态定位方法 |
CN1848759A (zh) * | 2005-04-28 | 2006-10-18 | 华为技术有限公司 | 多网元日志文件上载方法 |
CN1996283A (zh) * | 2005-12-31 | 2007-07-11 | 英保达股份有限公司 | 文件分类储存管理方法及系统 |
US20100235333A1 (en) * | 2009-03-16 | 2010-09-16 | International Business Machines Corporation | Apparatus and method to sequentially deduplicate data |
CN107085554A (zh) * | 2017-04-11 | 2017-08-22 | 武汉斗鱼网络科技有限公司 | 一种添加控件标识的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408465A (zh) * | 2018-10-29 | 2019-03-01 | Oppo广东移动通信有限公司 | 文件归属信息记录方法、装置、存储介质及终端 |
CN109408465B (zh) * | 2018-10-29 | 2021-07-13 | Oppo广东移动通信有限公司 | 文件归属信息记录方法、装置、存储介质及终端 |
CN113362489A (zh) * | 2020-03-06 | 2021-09-07 | 联合汽车电子有限公司 | 车辆测量文件的创建方法、电子设备和存储介质 |
CN111984300A (zh) * | 2020-09-08 | 2020-11-24 | 网易(杭州)网络有限公司 | 代码复制方法及装置、电子设备和计算机可读存储介质 |
CN111984300B (zh) * | 2020-09-08 | 2024-01-23 | 网易(杭州)网络有限公司 | 代码复制方法及装置、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107832403B (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487734B2 (en) | Staging anchor trees for improved concurrency and performance in page range index management | |
CN107357593A (zh) | 源代码文件组建方法、装置、电子终端及可读存储介质 | |
JP6118515B2 (ja) | 連想メモリ更新のためのシステム | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN109902255B (zh) | 页面混合浏览记录生成方法、装置、设备和存储介质 | |
US20220028136A1 (en) | Ontology-backed automatic chart creation | |
CN104169902B (zh) | 同步本地和远程数据 | |
CN108614976A (zh) | 权限配置方法、装置及存储介质 | |
US11954006B1 (en) | Systems and methods for locally streaming applications in a computing system | |
US10360245B2 (en) | Attribute value derivation | |
CN107832403A (zh) | 目录文件管理方法、装置、电子终端及可读存储介质 | |
CN109491962B (zh) | 一种文件目录树管理方法及相关装置 | |
CN104636130A (zh) | 用于生成事件树的方法和系统 | |
CN107656750A (zh) | 插件更新方法及装置 | |
CN104021016A (zh) | 加载浏览器插件图标的方法及浏览器 | |
CN103946794A (zh) | 数据特征的滚动升级的系统和方法 | |
CN115357590A (zh) | 针对数据变更的记录方法、装置、电子设备及存储介质 | |
EP3822821B1 (en) | Dynamic modular ontology | |
JP4951137B2 (ja) | データベースの管理方法 | |
US20160154860A1 (en) | Recursive Filter Algorithms on Hierarchical Data Models Described for the Use by the Attribute Value Derivation | |
US7409380B1 (en) | Facilitated reuse of K locations in a knowledge store | |
CN113741931B (zh) | 软件升级方法、装置、电子设备及可读存储介质 | |
CN114816470A (zh) | 元数据库的管理方法、装置、电子设备和介质 | |
US20170220656A1 (en) | Information Access System | |
US8195604B2 (en) | System and method for verifying IMS databases on a mainframe computer |
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 |