CN112579079A - 文件的处理方法、装置、计算机设备和存储介质 - Google Patents
文件的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112579079A CN112579079A CN201910934796.0A CN201910934796A CN112579079A CN 112579079 A CN112579079 A CN 112579079A CN 201910934796 A CN201910934796 A CN 201910934796A CN 112579079 A CN112579079 A CN 112579079A
- Authority
- CN
- China
- Prior art keywords
- path
- nth
- file
- record
- splicing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 50
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 36
- 238000013519 translation Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 24
- 230000008140 language development Effects 0.000 abstract description 4
- 238000011161 development Methods 0.000 description 8
- 230000018109 developmental process Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文件的处理方法、装置、计算机设备和存储介质。该方法包括:获取记录文件;判断第N条记录中的第N路径与第N‑1条记录中的第N‑1路径是否相同;若相同,在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容;若不同,判断第N路径是否为空;若空,将键值对作为拼接内容;若不为空,确定第N路径中与N‑1路径的不同层级,按照从小到大的顺序对各个不同层级分别进行拼接,并在对各个不同层级拼接后拼接键值对,生成拼接内容;将拼接内容写入目标文件。通过本发明,能够避免重复工作和降低应用程序桌面语言开发过程中的出错率。
Description
技术领域
本发明涉及文件处理技术领域,尤其涉及一种文件的处理方法、装置、计算机设备和存储介质。
背景技术
随着移动终端的普及,运行于移动终端的客户端应用程序也越来越丰富。其中,客户端应用程序一方面需要提供与用户交互的桌面,另一方面需要提供与服务区交互的后台程序。由于yaml文件相较于ini文件、conf文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据,不会改变原有数据类型,所有的数据类型在读取时都会原样输出等特点,在应用程序桌面的开发过程中,经常会采用yaml文件作为配置文件。
进一步地,发明人发现,在应用程序桌面的开发过程中,当需要进行桌面语言的转换,例如将一种客户端应用程序的中文桌面转换为英文桌面时,经常会出错,对此,发明人进一步研究发现,在进行桌面语言的转换时,需要将配置文件中的相关信息由原文转换为译文,现有的实现方法是开发人员将中文的yaml文件交付给产品人员(可能几十上百个文件),产品人员不能随意调整文件内的空格(yaml文件使用空格表示层级关系),然后产品人员将对应的中文翻译成译文,翻译完成之后开发人员再手动将每一个yaml文件添加到对应文件夹下,过程比较复杂,且对于产品翻译的yaml文件格式要求严格,导致翻译的yaml文件格式出错,进而导致桌面语言转换出错。
此外,当yaml文件需要新增加几条或者更多条数据时,需要重复以上流转流程;当需要提供多种语言的桌面时,也需要分别重复以上流转流程,极大浪费人力和时间。
因此,提供一种文件的处理方法、装置、计算机设备和存储介质,以降低应用程序桌面语言开发过程中的出错率,成为本领域亟需解决的技术问题。
发明内容
本发明的目的是提供一种文件的处理方法、装置、计算机设备和存储介质,用于解决现有技术中应用程序桌面语言开发过程中出错率高的技术问题。
一方面,为实现上述目的,本发明提供了一种文件的处理方法。
该文件的处理方法包括:获取记录文件,其中,记录文件包括多条记录,记录包括参数的路径和键值对,键值对包括参数与参数的值;判断第N条记录中的第N路径与第N-1条记录中的第N-1路径是否相同,其中,第N条记录为记录文件中的任意一条记录,第N-1条记录为与第N条记录相邻的前一条记录;若第N路径与第N-1路径相同,在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容,其中,第一数量为预设单元层级特征字符数与第N路径的层级数的积,第N路径为空时,第N路径的层级数为0;若第N路径与第N-1路径不同,则判断第N路径是否为空;若第N路径为空,则将键值对作为拼接内容;若第N路径不为空,则确定第N路径中与N-1路径的不同层级,按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行,并在对各个不同层级拼接后拼接键值对,生成拼接内容,其中,第二数量为预设单元层级特征字符数与i的积,curPath[i]为第N路径的第i个层级;将拼接内容写入目标文件。
进一步地,记录还包括参数对应不同目标文件的文件信息;以及将拼接内容写入目标文件的步骤包括:将拼接内容按照第N条记录中的文件信息写入目标文件。
进一步地,当N=1时,第N-1条记录中的各项内容均为空;文件信息包括目标文件的存储路径,将拼接内容按照第N条记录中的文件信息写入目标文件的步骤包括:当N=1时,在第N条记录中存储路径指示的位置新建目标文件,并将拼接内容写入目标文件;当N>1时,在第N条记录中存储路径指示的位置查找目标文件,并将拼接内容写入目标文件。
进一步地,在判断第N路径与第N-1路径是否相同的步骤之前,文件的处理方法还包括:将文件信息和路径相同的记录记入同一对象;判断第N路径与第N-1路径是否相同的步骤包括:判断第N条记录与第N-1条记录是否属于同一对象,其中,当第N条记录与第N-1条记录属于同一对象,则第N路径与第N-1路径相同,当第N条记录与第N-1条记录不属于同一对象,则第N路径与第N-1路径不同。
进一步地,在判断第N路径与第N-1路径是否相同的步骤之前,将文件信息和路径相同的记录记入同一对象之后,文件的处理方法还包括:将包括同一个文件信息的对象按照路径的字母顺序进行排序;在执行判断第N路径与第N-1路径是否相同的步骤时,顺序获取排序后的对象中的记录进行判断。
进一步地,在判断第N路径与第N-1路径是否相同的步骤之前,文件的处理方法还包括:判断第N条记录中的文件信息和参数是否为空;当第N条记录中的文件信息和/或参数为空时,丢弃第N条记录;当第N条记录中的文件信息和参数均不为空时,执行判断第N路径与第N-1路径是否相同的步骤。
进一步地,目标文件的文件信息包括目标文件对应的源文件的存储路径和文件名称,目标文件的存储路径与源文件的存储路径相同;记录的第一列包括参数所在源文件的存储路径和文件名称,记录的第二列包括参数在源文件中的路径,记录的第三列为参数,记录的第四列为参数在源文件中对应的原文文案,记录的第五列为原文文案对应的译文文案,译文文案为参数的值;当第N条记录中的参数的值为空时,将原文文案作为参数的值;在第N条记录中存储路径指示的位置新建目标文件的步骤包括:在第N条记录中存储路径指示的位置新建文件名称为第一名称的空文件作为目标文件,其中,第一名称包括源文件的文件名称和标识译文文案语言类型的附加字符。
另一方面,为实现上述目的,本发明提供了一种文件的处理装置。
该文件的处理装置包括:获取模块,用于获取记录文件,其中,记录文件包括多条记录,记录包括参数的路径和键值对,键值对包括参数与参数的值;第一判断模块,用于判断第N条记录中的第N路径与第N-1条记录中的第N-1路径是否相同,其中,第N条记录为记录文件中的任意一条记录,第N-1条记录为与第N条记录相邻的前一条记录;第一拼接模块,用于当第N路径与第N-1路径相同,在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容,其中,第一数量为预设单元层级特征字符数与第N路径的层级数的积,第N路径为空时,第N路径的层级数为0;第二判断模块,用于当第N路径与第N-1路径不同时,判断第N路径是否为空;第二拼接模块,用于当第N路径为空时,将键值对作为拼接内容;第三拼接模块,用于当第N路径不为空时,确定第N路径中与N-1路径的不同层级,按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行,并在对各个不同层级拼接后拼接键值对,生成拼接内容,其中,第二数量为预设单元层级特征字符数与i的积,curPath[i]为第N路径的第i个层级;写入模块,用于将拼接内容写入目标文件。
又一方面,为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
又一方面,为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的文件的处理方法、装置、计算机设备和存储介质,首先获取记录文件,在记录文件中设置多条记录,每条记录均对应一个参数,每条记录包括参数的路径和键值对,键值对包括参数与参数的值,然后针对每一条记录,根据其路径和与其相邻的前一条记录的路径的差异形成一个拼接内容,该拼接内容包括层级特征字符和键值对,并且层级特征字符的位置和数量均与参数的路径相关,再将拼接内容写入目标文件,使得目标文件中的键值对的格式能够正确反映出键值对之间的层级关系,从而基于该目标文件生成应用程序的桌面时,只需将该目标文件进行加载即可,与人工形成目标文件相比,能够降低应用程序桌面语言开发过程中的出错率。
附图说明
图1为本发明实施例一提供的文件的处理方法的步骤流程图;
图2为本发明实施例二提供的文件的处理方法的步骤流程图;
图3为本发明实施例三提供的文件的处理方法的步骤流程图;
图4为本发明实施例五提供的文件的处理装置的框图;
图5为本发明实施例六提供的计算机设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是在本发明中,目标文件中以层级特征字符表征层级关系,例如在yaml文件中,以空格表征层级关系,则空格即为yaml文件中的层级特征字符。或者也可以其他字符作为层级特征字符,具体可根据目标文件的格式需要进行设置,本申请对此并不进行限定。
本申请中以应用程序的桌面开发场景为例进行描述,但本申请权利要求的保护范围并不限定于应用程序的桌面开发场景,该目标文件也可以在其他场景下使用,本申请对目标文件的使用场景并不进行限定。
本发明提供一种文件的处理方法、装置、计算机设备和存储介质,在本发明提供的文件的处理方法中,首先获取记录文件,其中,可对应源文件中的每个参数构建记录文件中的一条记录,每条记录包括参数的路径和键值对,键值对包括参数与参数的值,一个记录文件包括多条记录。针对每一条记录进行处理,具体为根据一条记录形成拼接内容,再将拼接内容写入目标文件,直到将同一目标文件对应的所有记录形成的拼接内容均写入目标文件。
其中,第N条记录为记录文件中的一条记录,第N-1条记录为与第N条记录相邻的前一条记录,根据第N条记录形成拼接内容,再将拼接内容写入目标文件的具体步骤包括:
判断第N条记录中的第N路径与第N-1条记录中的第N-1路径是否相同。
若两个路径相同,也即两条记录中的键值对在目标文件中的层级相同,此时,在第一数量的层级特征字符后拼接第N条记录中的键值对生成拼接内容,写入目标文件即可,其中,第一数量为预设单元层级特征字符数与第N路径的层级数的积。第N条记录对应的拼接内容写入目标文件后,第N条记录中的键值对与第N-1条记录中的键值对缩进的层级特征字符数相同,也即两条记录对齐,格式符合两条记录中的键值对在目标文件中的层级相同的格式要求。其中,第N路径为空时,第N路径的层级数为0,也即第一数量为0,第N条记录对应的拼接内容写入目标文件后,相当于第N条记录中的键值对不需要增加层级特征字符,格式符合第N条记录中路径的层级数为0的格式要求。
若第N路径与第N-1路径不同,则需要进一步判断第N路径是否为空,若第N路径为空,则将键值对作为拼接内容,直接写入目标文件。第N条记录对应的拼接内容写入目标文件后,相当于第N条记录中的键值对不需要增加层级特征字符,格式符合第N条记录中路径的层级数为0的格式要求。
若第N路径不为空,则需要确定第N路径中与N-1路径的若干不同层级,然后按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行,直到将所有不同层级均进行拼接后,再拼接键值对,生成拼接内容,将拼接内容写入目标文件,其中,第二数量为预设单元层级特征字符数与i的积,curPath[i]为第N路径的第i个层级,相当于第N条记录中的键值对前体现了第N条记录的路径。
综上所述,按照上面过程将同一目标文件对应的所有记录形成的拼接内容均写入目标文件后,应用程序在提供该目标文件对应的语言的桌面时,将该目标文件进行加载即可,与人工形成目标文件相比,能够降低应用程序桌面语言开发过程中的出错率。
关于本发明提供的文件的处理方法、装置、计算机设备和存储介质的具体实施例,将在下文中详细描述。
实施例一
本发明实施例提供了一种文件的处理方法,该文件的处理方法可以处理为一个可执行的脚本,在应用程序桌面的开发过程中,当需要配置桌面的yaml文件(或者也可以为其他格式的文件)时,特别是需要进行桌面语言的转换时,先构建译文对应的记录文件,通过脚本对记录文件进行处理后,即可将记录文件形成目标文件并存储至特定文件夹下,应用程序桌面的显示程序读取特定文件夹下的该目标文件,实现了该目标文件对应的应用程序桌面的显示,通过该方法,能够降低应用程序桌面语言开发过程中的出错率,具体地,图1为本发明实施例一提供的文件的处理方法的步骤流程图,如图1所示,该实施例提供的文件的处理方法包括如下的步骤S101至步骤S109。
步骤S101:获取记录文件。
其中,记录文件包括多条记录,记录包括参数的路径和键值对,键值对包括参数与参数的值。
可选地,记录文件的格式可以为excel格式,或者也可以为其他格式,本申请对此并不进行限定。
可选地,当需要配置桌面的yaml文件时,首先构建该yaml文件对应的记录文件;或者,当需要根据已有语言桌面的yaml文件配置新语言桌面的yaml文件时,首先根据已有语言桌面的yaml文件构建记录文件,例如,将已有语言桌面的yaml文件中的各个参数对应在记录文件中构建一条记录,参数的路径为参数在已有语言桌面的yaml文件中的路径,键值对中参数的值为参数在已有语言桌面的yaml文件中的文案所对应的新语言译文。
步骤S102:判断第N条记录中的第N路径与第N-1条记录中的第N-1路径是否相同。
可选地,N的初始值为1,在获取记录文件后,从第一条记录开始,执行该步骤S102,其中,N=1时第N-1路径为空。
其中,若第N路径与第N-1路径相同,则执行步骤S103,若第N路径与第N-1路径不同,则执行步骤S104。
步骤S103:在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容。
其中,该第一数量为预设单元层级特征字符数与第N路径的层级数的积,预设单元层级特征字符数可以根据目标文件的格式要求设置层级特征字符的数量,例如,对于yaml文件,层级特征字符为空格,设置预设单元层级特征字符数为2。
第N路径为空时,第N路径的层级数为0,例如第N路径为aaa/bbb/cccs时,“/”为路径的层级分隔符,第N路径的层级数为3,或者,路径的不同层级还可以通过其他分隔符标识,例如“-”等,本申请对此并不进行限定。
可选地,当第N路径与第N-1路径相同时,首先计算第一数量,然后根据第一数量生成拼接内容。
可选地,当第N路径与第N-1路径相同时,首先判断第N路径是否为空,如果第N路径为空,键值对前不需要层级特征字符,直接将键值对作为拼接内容;如果第N路径不为空,再计算第一数量,然后根据第一数量生成拼接内容。
无论以哪种方式,在生成拼接内容后,执行步骤S108。
通过该步骤S103,生成拼接内容写在目标文件中,在第N路径与第N-1路径相同时,也即两条记录中参数的路径的层级相同时,能够保证目标文件中两条记录的键值对前具有相同数量的层级特征字符,也即保证目标文件中两条记录的键值对对齐。
步骤S104:判断第N路径是否为空。
其中,若第N路径为空时,则执行步骤S105,若第N路径不为空时,则执行步骤S106。
步骤S105:将键值对作为拼接内容。
如果第N路径为空,键值对前不需要增加层级特征字符,在该步骤S105中,直接将键值对作为拼接内容,在生成拼接内容后,执行步骤S108。
通过该步骤S105,生成拼接内容写在目标文件中,在第N路径为空时,也即第N条记录中参数的路径的层级为0时,能够保证目标文件中该条记录的键值对前不增加层级特征字符。
步骤S106:确定第N路径中与N-1路径的不同层级,按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行。
当第N路径与第N-1路径不相同,且第N路径不为空,需要执行该步骤S106。其中,curPath[i]为第N路径中与N-1路径的不同层级,且为第N路径的第i个层级,第二数量为预设单元层级特征字符数与i的积。
例如,目标文件为yaml文件,第N路径中的第2至4个层级为第N路径中与N-1路径的不同层级,则:在2*2个空格后拼接第N路径的第2个层级curPath[2],并在拼接curPath[2]后换行,然后在2*3个空格后拼接第N路径的第3个层级curPath[3],并在拼接curPath[3]后换行,然后在2*4个空格后拼接第N路径的第4个层级curPath[4],并在拼接curPath[4]后换行.
可选地,将第N路径和第N-1路径分别分割成数组,第N路径分割后的数组为curPath,第N-1路径分割后的数组为prePath,该步骤S106具体包括如下的步骤:
步骤S1061:判断curPath[i]与prePath[i]是否相同,其中,若curPath[i]与prePath[i]不同,则执行步骤S1062,若curPath[i]与prePath[i]相同,则执行步骤S1063;
步骤S1062:在中间拼接内容的当前拼接位置拼接第二数量的层级特征字符,然后拼接curPath[i],并在拼接curPath[i]后换行,换行后执行步骤S1063,其中,中间拼接内容的初始为空;
步骤S1063:判断i是否小于第N路径的层级数sum1,其中,当i小于sum1时,i=i+1,并返回步骤S1061,当i等于sum1时结束,此时的中间拼接内容皆为对所有不同层级拼接后的结果。
步骤S107:对各个不同层级拼接后拼接键值对,生成拼接内容。
在生成拼接内容后,执行步骤S108。
通过该步骤S106和步骤S107,生成拼接内容写在目标文件中,能够保证目标文件中该条记录的键值对前正确体现出第N条记录的路径。
步骤S108:将拼接内容写入目标文件。
步骤S109:判断N是否小于记录文件中的记录数。
其中,当N小于记录总数时,N=N+1,并返回步骤S102,当N等于记录数时结束。可选地,当记录文件中所有的记录均需要写入同一个目标文件时,该步骤S109中的记录数为记录文件中记录的总数,当记录文件中所有的记录需要写入不同的目标文件时,该记录数为记录文件中需要写入同一目标文件的记录的数量,且N等于记录数时,结束一个目标文件的写入,可重复执行步骤S102至步骤S109,对记录文件中需要写入另一目标文件的记录进行处理,以实现另一个目标文件的写入,直到记录文件中所有的记录均写入相应的目标文件。
采用该实施例提供的文件的处理方法,首先获取记录文件,在记录文件中设置多条记录,每条记录均对应一个参数,每条记录包括参数的路径和键值对,键值对包括参数与参数的值,然后针对每一条记录,根据其路径和与其相邻的前一条记录的路径的差异形成一个拼接内容,该拼接内容包括层级特征字符和键值对,并且层级特征字符的位置和数量均与参数的路径相关,再将拼接内容写入目标文件,使得目标文件中的键值对的格式能够正确反映出键值对之间的层级关系,从而基于该目标文件生成应用程序的桌面时,只需将该目标文件进行加载即可,与人工形成目标文件相比,能够降低应用程序桌面语言开发过程中的出错率。
可选地,在一种实施例中,记录还包括参数对应不同目标文件的文件信息;以及将拼接内容写入目标文件的步骤包括:将拼接内容按照第N条记录中的文件信息写入目标文件。
具体而言,记录文件中包括需要写入不同目标文件的记录,则记录相应包括参数对应不同目标文件的文件信息,也即,记录中的文件信息不同时,表征该记录形成的拼接内容需要写入不同的目标文件。基于此,在将拼接内容写入目标文件时,根据拼接内容对应的记录中的文件信息进行处理,以将属于同一目标文件的拼接内容写入同一目标文件,将属于不同目标文件的拼接内容写入不同的目标文件。
采用该实施例提供的文件的处理方法,当应用程序的桌面需要多个配置文件时,特别是需要配置成千上万个配置文件时,可将不同的配置文件中的参数在同一个记录文件中体现,对该记录文件进行处理后,生成的各个目标文件也即各个配置文件,相对每个配置文件设置一个记录文件分别进行处理而言,能够减少处理步骤,该实施例提供的文件的处理方法一次即可生成多个配置文件。
可选地,在一种实施例中,当N=1时,第N-1条记录中的各项内容均为空;文件信息包括目标文件的存储路径,将拼接内容按照第N条记录中的文件信息写入目标文件的步骤包括:当N=1时,在第N条记录中存储路径指示的位置新建目标文件,并将拼接内容写入目标文件;当N>1时,在第N条记录中存储路径指示的位置查找目标文件,并将拼接内容写入目标文件。
具体而言,当需要将目标文件放在某预定的存储路径下时,在记录中增加目标文件的该存储路径,从而将根据第一条记录形成的拼接内容写入目标文件时,能够在记录中的存储路径指示的位置自动新建一个目标文件并写入,将根据第二条记录及以后的记录形成的拼接内容写入目标文件时,能够在记录中的存储路径指示的位置找到已经新建的目标文件并写入。
采用该实施例提供的文件的处理方法,在写入目标文件时,能够自动在预定的存储路径下新建目标文件,能够自动在预定的存储路径下寻找已经存储的目标文件,进一步提升文件处理的便利性。
可选地,在一种实施例中,在判断第N路径与第N-1路径是否相同的步骤之前,文件的处理方法还包括:将文件信息和路径相同的记录记入同一对象;判断第N路径与第N-1路径是否相同的步骤包括:判断第N条记录与第N-1条记录是否属于同一对象,其中,当第N条记录与第N-1条记录属于同一对象,则第N路径与第N-1路径相同,当第N条记录与第N-1条记录不属于同一对象,则第N路径与第N-1路径不同。
具体而言,在判断相邻的两条记录中的路径是否相同时,先按照文件信息和路径对记录进行聚合,将对应同一目标文件且路径相同的记录记入同一对象,从而在判断两条记录中的路径是否相同时,只需要判断两条记录是否属于同一对象即可。
采用该实施例提供的文件的处理方法,针对对应同一目标文件的记录,先将相同路径的记录记入同一对象,在判断两条记录中路径是否相同时只需要判断两条记录是否在同一对象即可。
可选地,在一种实施例中,在判断第N路径与第N-1路径是否相同的步骤之前,将文件信息和路径相同的记录记入同一对象之后,文件的处理方法还包括:将包括同一个文件信息的对象按照路径的字母顺序进行排序;在执行判断第N路径与第N-1路径是否相同的步骤时,顺序获取排序后的对象中的记录进行判断。
具体而言,针对对应同一目标文件的对象,先按照路径的字母顺序进行排序,例如,按照字母a~z的顺序进行排序,或者也可按照z~a的顺序进行排序,或者也可按照其他顺序进行排序,本申请对此并不进行限定。然后在执行判断第N路径与第N-1路径是否相同的步骤时,顺序获取排序后的对象中的记录进行判断,也即,第一路径为排在首位的对象中的第一个记录中的路径,如果首排在首位的对象还包括其他记录,则第二路径、第三路径…为排在首位的对象中的其他记录中的路径,直到排在首位的对象中的所有记录均被处理后,再处理排在第二位的对象中的记录,依次类推。
采用该实施例提供的文件的处理方法,当记录文件中记录的顺序没有按路径的层级进行设置时,在获取记录中的路径判断前,先对对应同一目标文件的各个对象按照路径进行排序,能够保证在进行路径判断时,相邻的记录是按照路径的层级关系进行排序的记录。进一步,当需要在目标文件中增加参数及参数对应的值时,只需在记录文件中增加记录即可,并可直接将增加的记录写入至记录文件的末端,由于将记录文件处理为目标文件的过程中,会根据路径进行排序,因而无需关注记录中参数的路径所处的层级,简化了目标文件的修改流程。
可选地,在一种实施例中,在判断第N路径与第N-1路径是否相同的步骤之前,文件的处理方法还包括:判断第N条记录中的文件信息和参数是否为空;当第N条记录中的文件信息和/或参数为空时,丢弃第N条记录;当第N条记录中的文件信息和参数均不为空时,执行判断第N路径与第N-1路径是否相同的步骤。
具体而言,在判断第N路径与第N-1路径是否相同之前,首先要判断第N条记录是否正常,当该第N条记录中的文件信息和/或参数为空时,将该第N条记录丢弃不做处理,当第N条记录中的文件信息和参数均不为空时,再进行处理。
采用该实施例提供的文件的处理方法,对记录文件中的异常记录进行丢弃处理,避免记录文件中存在异常记录时影响文件处理方法的执行。
可选地,在一种实施例中,目标文件的文件信息包括目标文件对应的源文件的存储路径和文件名称,目标文件的存储路径与源文件的存储路径相同;记录的第一列包括参数所在源文件的存储路径和文件名称,记录的第二列包括参数在源文件中的路径,记录的第三列为参数,记录的第四列为参数在源文件中对应的原文文案,记录的第五列为原文文案对应的译文文案,译文文案为参数的值;当第N条记录中的参数的值为空时,将原文文案作为参数的值;在第N条记录中存储路径指示的位置新建目标文件的步骤包括:在第N条记录中存储路径指示的位置新建文件名称为第一名称的空文件作为目标文件,其中,第一名称包括源文件的文件名称和标识译文文案语言类型的附加字符。
具体而言,应用程序的桌面语言为A语言,其配置文件中的文案相应为A语言,当需要提供一种B语言的桌面时,需要将A语言的配置文件中的原文文案翻译为B语言的译文文案,也即提供B语言的配置文件。将A语言的配置文件定义为源文件,目标文件为B语言的配置文件,在由源文件获得目标文件的过程中,根据该源文件构建记录文件。
在记录文件中,将源文件的存储路径作为目标文件的存储路径,也即不同语言的配置文件设置于相同的存储位置,减少应用程序桌面显示程序的参数修改,且便于配置文件的统一管理。
此外,目标文件的文件信息除包括源文件的存储路径,还包括源文件的文件名称,从而在新建目标文件时,根据源文件的文件名称对目标文件进行命名,使得目标文件的文件名称包括源文件的文件名称和标识译文文案语言类型的附加字符,一方面,通过文件名称能够体现出同一应用程序桌面不同语言的配置文件的关联性,另一方面,通过在文件名称中增加标识译文文案语言类型的附加字符,能够体现出配置文件的语言类型。
在一条记录中,第一列包括参数所在源文件的存储路径和文件名称,第二列包括参数在源文件中的路径,第三列为参数,第四列为参数在源文件中对应的原文文案,第五列为原文文案对应的译文文案,可选地,记录可包括多个键值对,每个键值对的键均为参数,每个键值对中的值为原文文案的一种译文文案,例如原文文案为中文文案,记录包括三个键值对,第一个键值对中的值为中文文案对应的英文文案,第二个键值对中的值为中文文案对应的日文文案,第三个键值对中的值为中文文案对应的韩文文案,相应地,在记录中,第五列为英文文案,第六列为日文文案,第七列为韩文文案,从而当需要提供多种语言的桌面时,只需在记录文件的记录中增加一列相应语言的文案,即可得到对应语言的桌面配置文件。
其中,当一条记录中的参数的值为空时,也即一个键值对中的值为空时,将原文文案作为参数的值,不影响文件的处理方法的正常执行,并且,在形成桌面时,显示译文的位置处会显示出相应的原文,程序开发人员会通过显示结果定位到出错的位置。
实施例二
本发明实施例二提供了一种优选的文件的处理方法,部分特征和相应的技术效果与上述实施例一相同,可参考上述实施例一,该处不在赘述。在该实施例中,记录文件包括不同源文件的参数对应的记录,通过该方法,可将同一源文件对应的记录写入同一目标文件,将不同源文件对应的记录写入不同的目标文件,具体地,图2为本发明实施例二提供的文件的处理方的步骤流程图,如图2所示,该实施例提供的文件的处理方法包括如下的步骤S201至步骤S209。
步骤S201:获取记录文件。
其中,记录文件包括多条记录,记录包括参数的路径、键值对和参数对应不同目标文件的文件信息,键值对包括参数与参数的值,文件信息包括目标文件的存储路径,其中,目标文件的存储路径与源文件的存储路径相同,也即目标文件的文件信息包括目标文件对应的源文件的存储路径和文件名称。
记录的第一列包括参数所在源文件的存储路径和文件名称,记录的第二列包括参数在源文件中的路径,记录的第三列为参数,记录的第四列为参数在源文件中对应的原文文案,记录的第五列为原文文案对应的译文文案,译文文案为参数的值。
步骤S202:判断第N条记录中的第N路径与第N-1条记录中的第N-1路径是否相同。
其中,第N条记录为记录文件中的一条记录,第N-1条记录为与第N条记录相邻的前一条记录。其中,当N=1时,第N-1条记录中的各项内容均为空,则第N-1路径为空。
其中,若第N路径与第N-1路径相同,则执行步骤S203,若第N路径与第N-1路径不同,则执行步骤S204。
步骤S203:在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容。
其中,第一数量为预设单元层级特征字符数与第N路径的层级数的积,第N路径为空时,第N路径的层级数为0。
在生成拼接内容后,执行步骤S208。
步骤S204:判断第N路径是否为空。
其中,若第N路径为空时,则执行步骤S205,若第N路径不为空时,则执行步骤S206。
步骤S205:将键值对作为拼接内容。
在生成拼接内容后,执行步骤S208。
步骤S206:确定第N路径中与N-1路径的不同层级,按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行。
步骤S207:对各个不同层级拼接后拼接键值对,生成拼接内容。
在生成拼接内容后,执行步骤S208。
步骤S208:当N=1时,在第N条记录中存储路径指示的位置新建目标文件,并将拼接内容写入目标文件,当N>1时,在第N条记录中存储路径指示的位置查找目标文件,并将拼接内容写入目标文件。
其中,在新建目标文件时,新建文件名称为第一名称的空文件作为目标文件,该第一名称包括源文件的文件名称和标识译文文案语言类型的附加字符。
步骤S209:判断N是否小于记录文件中的记录数。
其中,当N小于记录总数时,N=N+1,并返回步骤S202,当N等于记录数时结束。
实施例三
本发明实施例三提供了一种优选的文件的处理方法,部分特征和相应的技术效果与上述实施例一相同,可参考上述实施例一,该处不在赘述。在该实施例中,记录文件包括不同源文件的参数对应的记录,通过该方法,能够提升文件处理速度,同时有利于在配置文件中增加配置,具体地,图3为本发明实施例三提供的文件的处理方的步骤流程图,如图3所示,该实施例提供的文件的处理方法包括如下的步骤S301至步骤S313。
步骤S301:获取记录文件。
其中,记录文件包括多条记录,记录包括参数的路径、键值对和参数对应不同目标文件的文件信息,键值对包括参数与参数的值。
步骤S302:将文件信息和路径相同的记录记入同一对象。
步骤S303:将包括同一个文件信息的对象按照路径的字母顺序进行排序。
步骤S304:顺序获取排序后的对象中的记录,判断第N条记录中的文件信息和参数是否为空。
其中,当第N条记录中的文件信息和/或参数为空时,执行步骤S305,当第N条记录中的文件信息和参数均不为空时,执行步骤S306。
步骤S305:丢弃第N条记录。
其中,在丢弃第N条记录后,执行步骤S313。
步骤S306:判断判断所述第N条记录与所述第N-1条记录是否属于同一对象。
其中,第N条记录为记录文件中的一条记录,第N-1条记录为与第N条记录相邻的前一条记录。其中,当N=1时,第N-1条记录中的各项内容均为空,则第N-1路径为空。
其中,当第N条记录与第N-1条记录属于同一对象,则第N路径与第N-1路径相同,当第N条记录与第N-1条记录不属于同一对象,则第N路径与第N-1路径不同。
其中,若第N路径与第N-1路径相同,则执行步骤S307,若第N路径与第N-1路径不同,则执行步骤S308。
步骤S307:在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容。
其中,第一数量为预设单元层级特征字符数与第N路径的层级数的积,第N路径为空时,第N路径的层级数为0。
在生成拼接内容后,执行步骤S312。
步骤S308:判断第N路径是否为空。
其中,若第N路径为空时,则执行步骤S309,若第N路径不为空时,则执行步骤S310。
步骤S309:将键值对作为拼接内容。
在生成拼接内容后,执行步骤S312。
步骤S310:确定第N路径中与N-1路径的不同层级,按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行。
步骤S311:对各个不同层级拼接后拼接键值对,生成拼接内容。
在生成拼接内容后,执行步骤S312。
步骤S312:将拼接内容按照第N条记录中的文件信息写入目标文件。
步骤S313:判断N是否小于记录文件中的记录数。
其中,当N小于记录总数时,N=N+1,并返回步骤S304,当N等于记录数时结束。
实施例四
本发明实施例四提供了一种优选的文件的处理方法,部分特征和相应的技术效果与上述实施例一相同,可参考上述实施例一,该处不在赘述。具体地,该实施例提供的文件的处理方法包括如下的步骤:
步骤S1:将桌面文件中的相关参数、中文原文以及英文译文等,构建excel文件。
该excel文件即为记录文件。例如,在一种实施例中,yaml中文文件格式:(studiesManager.yaml片段)
save-succ:该指标的参数和显示已保存。
setting:
leave-tips:您在当前页面有未保存的设置修改,是否确定离开?
error:
int-error:参数规范:整数:1-1000。
sar-error:参数规范:(0,1),精度为两位小数。
rsi-err:参数规范:整数,0-100
得到的excel文件如下表所示:
以上excel文件共包括5列,依次为:
文件名称:含有文件的路径。
路径:用于标识文案的层级,路径为空时层级为零,有多个层级时,路径中的各个层级之间使用\进行划分。
Key:自定义Key,也即参数。
中文文案:参数对应的中文文案。
英文文案:中文文案对应的英文文案,键值对是(key:英文文案)。
步骤S2:读取excel源文件,并将excel源文件中的每条item(也即每条记录)按照文件名整理成对象。
其中,在读取excel源文件时,可以使用node-xlsx插件对excel源文件进行读取
const sheet=xlsx.parse('src/convert/convert-en.xlsx')
获得格式为
每一个item包括上述的五个字段。
进一步,遍历所有的item,将每一个文件整理为对象形式
步骤S3:遍历每一个文件,将文件内的item按照层级整理为对象,并按照层级升序排序。
具体地,遍历每一个文件,将文件这种的层级关系整理成对象形式,没有层级的路径设置为字符串‘undefined’(例:studiesManger.yaml文件片段)
步骤S4:判断当前路径和subName是否相等。
其中,初始状态时subName为空。其中,若相等执行下述步骤S5,若不相等,执行下述步骤S6。
步骤S5:判断当前路径是否为空,若是,则不缩进空格并拼接内容,若否则拼接内容,并更新subName为当前路径,进行下次读取。
步骤S6:判断当前路径是否为空,若是,则不缩进空格,若否则比较当前路径和比较路径的不同之处,生成中间拼接内容。
步骤S7:更新subName为当前路径,生成拼接内容。
步骤S8:执行写文件,并判断文件名是否为XXXX\XXXX.yaml格式,若是,则写入到src/views/xxxx/locales\xxxx.yaml文件,若否,则写入到src/views/xxxx/lcales\en.yaml文件,读写成功后,若还需要读写返回步骤S4。
最终生成的目标文件为:
yaml格式的文件,同一个层级的内容只要左对齐就好了。由以上片段可以清楚的看清层级关系。
实施例五
对应于上述实施例一,本发明实施例五提供了一种文件的处理装置,图4为本发明实施例二提供的文件的处理装置的框图,如图4所示,该装置包括:获取模块501、第一判断模块502、第一拼接模块503、第二判断模块504、第二拼接模块505、第三拼接模块506和写入模块507。
其中,获取模块501用于获取记录文件,其中,记录文件包括多条记录,记录包括参数的路径和键值对,键值对包括参数与参数的值;第一判断模块502用于判断第N条记录中的第N路径与第N-1条记录中的第N-1路径是否相同,其中,第N条记录为记录文件中的任意一条记录,第N-1条记录为与第N条记录相邻的前一条记录;第一拼接模块503用于当第N路径与第N-1路径相同,在第一数量的层级特征字符后拼接第N条记录中的键值对,生成拼接内容,其中,第一数量为预设单元层级特征字符数与第N路径的层级数的积,第N路径为空时,第N路径的层级数为0;第二判断模块504用于当第N路径与第N-1路径不同时,判断第N路径是否为空;第二拼接模块505用于当第N路径为空时,将键值对作为拼接内容;第三拼接模块506用于当第N路径不为空时,确定第N路径中与N-1路径的不同层级,按照从小到大的顺序对各个不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行,并在对各个不同层级拼接后拼接键值对,生成拼接内容,其中,第二数量为预设单元层级特征字符数与i的积,curPath[i]为第N路径的第i个层级;写入模块507用于将拼接内容写入目标文件。
可选地,在一种实施例中,记录还包括参数对应不同目标文件的文件信息;写入模块507还用于将拼接内容按照第N条记录中的文件信息写入目标文件。
可选地,在一种实施例中,当N=1时,第N-1条记录中的各项内容均为空;文件信息包括目标文件的存储路径,写入模块507将拼接内容按照第N条记录中的文件信息写入目标文件时,具体执行的步骤包括:当N=1时,在第N条记录中存储路径指示的位置新建目标文件,并将拼接内容写入目标文件;当N>1时,在第N条记录中存储路径指示的位置查找目标文件,并将拼接内容写入目标文件。
可选地,在一种实施例中,文件的处理装置还包括:聚合模块,用于在第一判断模块判断第N路径与第N-1路径是否相同之前,将文件信息和路径相同的记录记入同一对象;其中,第一判断模块502在判断第N路径与第N-1路径是否相同的步骤包括:判断第N条记录与第N-1条记录是否属于同一对象,其中,当第N条记录与第N-1条记录属于同一对象,则第N路径与第N-1路径相同,当第N条记录与第N-1条记录不属于同一对象,则第N路径与第N-1路径不同。
进一步地,文件的处理装置还包括:排序模块,用于在第一判断模块502判断第N路径与第N-1路径是否相同之前,聚合模块将文件信息和路径相同的记录记入同一对象之后,将包括同一个文件信息的对象按照路径的字母顺序进行排序;其中,第一判断模块502在执行判断第N路径与第N-1路径是否相同的步骤时,顺序获取排序后的对象中的记录进行判断。
进一步地,文件的处理装置还包括:第三判断模块,用于在第一判断模块502判断第N路径与第N-1路径是否相同的步骤之前,判断第N条记录中的文件信息和参数是否为空;其中,当第N条记录中的文件信息和/或参数为空时,丢弃第N条记录;当第N条记录中的文件信息和参数均不为空时,第一判断模块502判断第N路径与第N-1路径是否相同。
进一步地,目标文件的文件信息包括目标文件对应的源文件的存储路径和文件名称,目标文件的存储路径与源文件的存储路径相同;记录的第一列包括参数所在源文件的存储路径和文件名称,记录的第二列包括参数在源文件中的路径,记录的第三列为参数,记录的第四列为参数在源文件中对应的原文文案,记录的第五列为原文文案对应的译文文案,译文文案为参数的值;当第N条记录中的参数的值为空时,将原文文案作为参数的值;写入模块507在第N条记录中存储路径指示的位置新建目标文件时,执行的具体步骤包括:在第N条记录中存储路径指示的位置新建文件名称为第一名称的空文件作为目标文件,其中,第一名称包括源文件的文件名称和标识译文文案语言类型的附加字符。
实施例六
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备01至少包括但不限于:可通过***总线相互通信连接的存储器011、处理器012,如图5所示。需要指出的是,图5仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作***和各类应用软件,例如实施例五的文件的处理装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如文件的处理方法等。
实施例七
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储文件的处理装置,被处理器执行时实现实施例一的文件的处理方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种文件的处理方法,其特征在于,包括:
获取记录文件,其中,所述记录文件包括多条记录,所述记录包括参数的路径和键值对,所述键值对包括所述参数与所述参数的值;
判断第N条所述记录中的第N路径与第N-1条所述记录中的第N-1路径是否相同,其中,第N条所述记录为所述记录文件中的任意一条记录,第N-1条记录为与所述第N条记录相邻的前一条所述记录;
若所述第N路径与所述第N-1路径相同,在第一数量的层级特征字符后拼接所述第N条记录中的键值对,生成拼接内容,其中,所述第一数量为预设单元层级特征字符数与所述第N路径的层级数的积,所述第N路径为空时,所述第N路径的层级数为0;
若所述第N路径与所述第N-1路径不同,则判断所述第N路径是否为空;
若所述第N路径为空,则将所述键值对作为所述拼接内容;
若所述第N路径不为空,则确定所述第N路径中与所述N-1路径的不同层级,按照从小到大的顺序对各个所述不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行,并在对各个所述不同层级拼接后拼接所述键值对,生成所述拼接内容,其中,所述第二数量为所述预设单元层级特征字符数与i的积,所述curPath[i]为所述第N路径的第i个层级;
将所述拼接内容写入目标文件。
2.根据权利要求1所述的文件的处理方法,其特征在于,
所述记录还包括所述参数对应不同目标文件的文件信息;以及
将所述拼接内容写入目标文件的步骤包括:将所述拼接内容按照所述第N条记录中的文件信息写入目标文件。
3.根据权利要求2所述的文件的处理方法,其特征在于,
当N=1时,所述第N-1条记录中的各项内容均为空;
所述文件信息包括所述目标文件的存储路径,将所述拼接内容按照所述第N条记录中的文件信息写入目标文件的步骤包括:
当N=1时,在所述第N条记录中所述存储路径指示的位置新建所述目标文件,并将所述拼接内容写入所述目标文件;
当N>1时,在所述第N条记录中所述存储路径指示的位置查找所述目标文件,并将所述拼接内容写入所述目标文件。
4.根据权利要求2所述的文件的处理方法,其特征在于,
在判断所述第N路径与所述第N-1路径是否相同的步骤之前,所述文件的处理方法还包括:将所述文件信息和所述路径相同的所述记录记入同一对象;
判断所述第N路径与所述第N-1路径是否相同的步骤包括:判断所述第N条记录与所述第N-1条记录是否属于同一对象,其中,当所述第N条记录与所述第N-1条记录属于同一对象,则所述第N路径与所述第N-1路径相同,当所述第N条记录与所述第N-1条记录不属于同一对象,则所述第N路径与所述第N-1路径不同。
5.根据权利要求4所述的文件的处理方法,其特征在于,
在判断所述第N路径与所述第N-1路径是否相同的步骤之前,将所述文件信息和所述路径相同的所述记录记入同一对象之后,所述文件的处理方法还包括:将包括同一个所述文件信息的所述对象按照所述路径的字母顺序进行排序;
在执行判断所述第N路径与所述第N-1路径是否相同的步骤时,顺序获取排序后的所述对象中的记录进行判断。
6.根据权利要求2所述的文件的处理方法,其特征在于,在判断所述第N路径与所述第N-1路径是否相同的步骤之前,所述文件的处理方法还包括:
判断所述第N条记录中的所述文件信息和所述参数是否为空;
当所述第N条记录中的所述文件信息和/或所述参数为空时,丢弃所述第N条记录;
当所述第N条记录中的所述文件信息和所述参数均不为空时,执行判断所述第N路径与所述第N-1路径是否相同的步骤。
7.根据权利要求3所述的文件的处理方法,其特征在于,
所述目标文件的文件信息包括所述目标文件对应的源文件的存储路径和文件名称,所述目标文件的存储路径与所述源文件的存储路径相同;
所述记录的第一列包括所述参数所在源文件的存储路径和文件名称,所述记录的第二列包括所述参数在所述源文件中的路径,所述记录的第三列为所述参数,所述记录的第四列为所述参数在所述源文件中对应的原文文案,所述记录的第五列为所述原文文案对应的译文文案,所述译文文案为所述参数的值;
当所述第N条记录中的所述参数的值为空时,将所述原文文案作为所述参数的值;
在所述第N条记录中所述存储路径指示的位置新建所述目标文件的步骤包括:在所述第N条记录中所述存储路径指示的位置新建文件名称为第一名称的空文件作为所述目标文件,其中,所述第一名称包括所述源文件的文件名称和标识所述译文文案语言类型的附加字符。
8.一种文件的处理装置,其特征在于,包括:
获取模块,用于获取记录文件,其中,所述记录文件包括多条记录,所述记录包括参数的路径和键值对,所述键值对包括所述参数与所述参数的值;
第一判断模块,用于判断第N条所述记录中的第N路径与第N-1条所述记录中的第N-1路径是否相同,其中,第N条所述记录为所述记录文件中的任意一条记录,第N-1条记录为与所述第N条记录相邻的前一条所述记录;
第一拼接模块,用于当所述第N路径与所述第N-1路径相同,在第一数量的层级特征字符后拼接所述第N条记录中的键值对,生成拼接内容,其中,所述第一数量为预设单元层级特征字符数与所述第N路径的层级数的积,所述第N路径为空时,所述第N路径的层级数为0;
第二判断模块,用于当所述第N路径与所述第N-1路径不同时,判断所述第N路径是否为空;
第二拼接模块,用于当所述第N路径为空时,将所述键值对作为所述拼接内容;
第三拼接模块,用于当所述第N路径不为空时,确定所述第N路径中与所述N-1路径的不同层级,按照从小到大的顺序对各个所述不同层级分别按照如下的方式进行拼接:在第二数量的层级特征字符后拼接curPath[i],并在拼接curPath[i]后换行,并在对各个所述不同层级拼接后拼接所述键值对,生成所述拼接内容,其中,所述第二数量为所述预设单元层级特征字符数与i的积,所述curPath[i]为所述第N路径的第i个层级;
写入模块,用于将所述拼接内容写入目标文件。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934796.0A CN112579079A (zh) | 2019-09-29 | 2019-09-29 | 文件的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934796.0A CN112579079A (zh) | 2019-09-29 | 2019-09-29 | 文件的处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579079A true CN112579079A (zh) | 2021-03-30 |
Family
ID=75111311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910934796.0A Pending CN112579079A (zh) | 2019-09-29 | 2019-09-29 | 文件的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579079A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8715199D0 (en) * | 1986-10-30 | 1987-08-05 | Apple Computer | Hierarchical file system |
US20080235260A1 (en) * | 2007-03-23 | 2008-09-25 | International Business Machines Corporation | Scalable algorithms for mapping-based xml transformation |
CN104408120A (zh) * | 2014-11-26 | 2015-03-11 | 北京国双科技有限公司 | 源代码的处理方法及装置 |
CN104657500A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种基于key-value键值对的分布式存储方法 |
CN110249321A (zh) * | 2017-09-29 | 2019-09-17 | 甲骨文国际公司 | 用于从分布式数据源中捕获变更数据以供异构目标使用的***和方法 |
-
2019
- 2019-09-29 CN CN201910934796.0A patent/CN112579079A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8715199D0 (en) * | 1986-10-30 | 1987-08-05 | Apple Computer | Hierarchical file system |
US20080235260A1 (en) * | 2007-03-23 | 2008-09-25 | International Business Machines Corporation | Scalable algorithms for mapping-based xml transformation |
CN104408120A (zh) * | 2014-11-26 | 2015-03-11 | 北京国双科技有限公司 | 源代码的处理方法及装置 |
CN104657500A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种基于key-value键值对的分布式存储方法 |
CN110249321A (zh) * | 2017-09-29 | 2019-09-17 | 甲骨文国际公司 | 用于从分布式数据源中捕获变更数据以供异构目标使用的***和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI582616B (zh) | 藉由實例格式化資料 | |
US20060080603A1 (en) | Method and apparatus for utilizing an object model to manage document parts for use in an electronic document | |
CN109740122B (zh) | 思维导图用例文件的转换方法及装置 | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
CN112036144B (zh) | 数据解析方法、装置、计算机设备和可读存储介质 | |
CN108763341B (zh) | 电子装置、自动化建表方法及存储介质 | |
CN112035355A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111367890A (zh) | 一种数据迁移的方法、装置、计算机设备及可读存储介质 | |
CN111695093A (zh) | 基于iOS应用的加固方法、电子装置及存储介质 | |
CN111209736A (zh) | 文本文件解析方法、装置、计算机设备及存储介质 | |
CN114546432A (zh) | 一种多应用的部署方法、装置、设备及可读存储介质 | |
CN112818937B (zh) | Excel文件的识别方法、装置、电子设备及可读存储介质 | |
CN108108478B (zh) | 数据格式转换方法、***及电子设备 | |
CN108388796B (zh) | 动态域名验证方法、***、计算机设备和存储介质 | |
CN108664505B (zh) | 一种数据库表结构的导出方法及装置 | |
CN111159985B (zh) | 数据导出方法、装置、计算机设备和计算机可读存储介质 | |
CN111241096A (zh) | 一种excel文档的文本提取方法、***、终端及存储介质 | |
CN110795920B (zh) | 一种文档生成方法及设备 | |
CN111984674A (zh) | 结构化查询语言的生成方法及*** | |
CN116466953B (zh) | 组件化的前端开发方法、装置、计算机设备和存储介质 | |
CN109388685B (zh) | 将规划行业使用的空间数据进行入库的方法和装置 | |
CN111399898A (zh) | 多模块***代码版本的管理方法、装置和计算机设备 | |
CN112579079A (zh) | 文件的处理方法、装置、计算机设备和存储介质 | |
CN110764777B (zh) | 一种elf文件生成方法、elf文件、设备及存储介质 | |
CN113342647A (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 |