CN106534267A - 文件上传解析方法及装置 - Google Patents

文件上传解析方法及装置 Download PDF

Info

Publication number
CN106534267A
CN106534267A CN201610912985.4A CN201610912985A CN106534267A CN 106534267 A CN106534267 A CN 106534267A CN 201610912985 A CN201610912985 A CN 201610912985A CN 106534267 A CN106534267 A CN 106534267A
Authority
CN
China
Prior art keywords
data
data flow
character
document
encoding format
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
Application number
CN201610912985.4A
Other languages
English (en)
Inventor
王同庆
崔晓军
胡鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201610912985.4A priority Critical patent/CN106534267A/zh
Publication of CN106534267A publication Critical patent/CN106534267A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种文件上传解析方法及装置,该方法包括:接收上传的文件数据流,并读取所述文件数据流;将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式;根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。本发明根据字符编码格式的分隔符解析上传的文件数据流,能够避免中文汉字解析失败。

Description

文件上传解析方法及装置
技术领域
本发明涉及文件解析组件技术领域,尤其涉及一种文件上传解析方法及装置。
背景技术
目前,中国银行系统中使用BFW(Bocsoft Frame Work,微软框架)的Transformer(转换器)组件对文件的上传的文件进行解析。BFW是基于JAVA语言开发的上传文件公共解析组件,能够为企业应用开发中各种难点提供综合全面的解决方案,例如,多渠道整合、用户权限控制、事务处理、组件化资产管理、第三方技术集成等。
但是,网上银行企业用户反馈,在使用普通代发工资功能时,上传的批量文件解析会出现错误,导致账务交易失败。例如,上传文件中的“珅“字会被解析为”|“和另外一个乱码,文件解析失败。交易失败会给企业带来很不好的用户体验。
因此,BFW的Transformer组件对上传文件中部分汉字解析不支持是亟待解决的问题。
发明内容
本发明提供一种文件上传解析方法及装置,以解决现有BFW的Transformer组件对上传文件中部分汉字解析不支持的问题。
本发明提供一种文件上传解析方法,包括:接收上传的文件数据流,并读取所述文件数据流;将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式;根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。
一个实施例中,接收上传的文件数据流,并读取所述文件数据流,包括:接收上传的文件数据流,并将所述文件数据流读取为成行数据。
一个实施例中,将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,包括:判断所述成行数据是否为文本体数据;若是,将所述成行数据转换由其原始编码格式转换为关于语言的字符编码格式。
一个实施例中,根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理,包括:判断所述字符编码格式的成行数据中的字符是否为所述字符编码格式的文本体数据中的分隔符;若是,将所述字符编码格式的成行数据中的所述字符之前的字符以键和值对照的形式放置到一个MAP集合中;按成行数据的读取顺序,将各所述MAP集合放置到一个列表中,并将所述列表放置到所述文件数据流的文件顶层MAP中,用于显示或信息处理。
一个实施例中,还包括:判断所述成行数据是否为文件开始信息、文件总描述信息或文件尾信息;若是,对所述成行数据解析后放置到所述文件数据流的文件顶层MAP中。
一个实施例中,读取所述文件数据流之前,还包括:在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义。
本发明还提供一种文件上传解析装置,包括:文件数据流读取单元,用于执行:接收上传的文件数据流,并读取所述文件数据流;编码格式转换单元,用于执行:将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式;文本体数据解析单元,用于执行:根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。
一个实施例中,所述文件数据流读取单元,包括:文件数据流读取模块,用于执行:接收上传的文件数据流,并将所述文件数据流读取为成行数据。
一个实施例中,所述编码格式转换单元,包括:文本体数据判断模块,用于执行:判断所述成行数据是否为文本体数据;编码格式转换模块,用于执行:若是,将所述成行数据转换由其原始编码格式转换为关于语言的字符编码格式。
一个实施例中,所述文本体数据解析单元,包括:分隔符识别模块,用于执行:判断所述字符编码格式的成行数据中的字符是否为所述字符编码格式的文本体数据中的分隔符;文本体数据解析模块,用于执行:若是,将所述字符编码格式的成行数据中的所述字符之前的字符以键和值对照的形式放置到一个MAP集合中;MAP集合汇总模块,用于执行:按成行数据的读取顺序,将各所述MAP集合放置到一个列表中,并将所述列表放置到所述文件数据流的文件顶层MAP中,用于显示或信息处理。
一个实施例中,还包括:文件信息判断单元,用于执行:判断所述成行数据是否为文件开始信息、文件总描述信息或文件尾信息;文件信息解析单元,用于执行:若是,对所述成行数据解析后放置到所述文件数据流的文件顶层MAP中。
一个实施例中,还包括:xml文件定义单元,用于执行:在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义。
本发明实施例的文件上传解析方法及装置,通过将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,并根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,有效利用字符判断数据字符是否和分隔符一致来解析上传文件,能够支持所有字符,从而能够避免部分汉字与竖线分隔符混淆的问题,很好地完成批量文件的解析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的文件上传解析方法的流程示意图;
图2是本发明一实施例中将文本体数据由原始编码格式转换为关于语言的字符编码格式方法的流程示意图;
图3是本发明一实施例中根据字符编码格式的分隔符解析文本体数据的方法流程示意图;
图4是本发明另一实施例的文件上传解析方法的流程示意图;
图5是本发明再一实施例的文件上传解析方法的流程示意图;
图6是本发明一实施例的文件上传解析装置的结构示意图;
图7是本发明一实施例中编码格式转换单元的结构示意图;
图8是本发明一实施例中文本体数据解析单元的结构示意图;
图9是本发明另一实施例的文件上传解析装置的结构示意图;
图10是本发明再一实施例的文件上传解析装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
BFW的transformer的解析机制是,读取inputStream(输入数据流)中byte[]数组,对每一位byte(字节)进行判断,是否与分隔符的byte值一致。经过分析发现,部分汉字的byte值数组存在2位byte[],前后byte值可能与分隔符值相等的情况,从而导致BFW的transformer无法解析部分汉字。例如,“珅”字的十六进制为“AB 7C”,分隔符的十六进制“7C”与ASCII码的竖线分隔符“|”相同,由于BFW的Tranformer组件只根据byte值进行解析,所以就会把代表“珅”字的十六进制数“AB 7C”解析为“|”和另外一个乱码,从而导致文件解析失败。
基于上述分析,为了解决BFW的Transformer组件对部分汉字解析不支持的问题,本发明提出了一种新的文件上传解析方法,根据字符判断数据是否和分隔符一致来解析上传文件,能够很好地解决批量上传文件解析失败的问题。
图1是本发明一实施例的文件上传解析方法的流程示意图。如图1所示,本发明实施例的文件上传解析方法,可包括步骤:
S110:接收上传的文件数据流,并读取所述文件数据流;
S120:将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式;
S130:根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。
在上述步骤S120中,该原始编码格式一般为UTF8(8-bit UnicodeTransformation Format,8位Unicode转换格式或万国码)的格式。关于语言的字符编码格式可以多种不同编码格式,例如GBK(扩展中文)格式,在其他实施例中,可以是关于其他语言例如韩文、日文等的字符编码格式,具体可以根据需要选择。
在上述步骤S130中,利用关于语言的字符编码格式的文本体数据中的分隔符对该种字符编码格式的文本体数据进行解析,汉字的字符不会与分隔符重复,从而可以有效避免部分汉字与竖线分隔符混淆的问题。上传的文件数据流的解析结果可以用于显示给用户,例如网页显示,或者可以用于信息处理,例如划账处理。在上传文件数据流正确解析的情况下,显示结果正确,信息处理成功率高。
本发明实施例中,在发现BFW解析失败的原因的基础上,通过将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,并根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,有效利用字符判断数据字符是否和分隔符一致来解析上传文件,能够支持所有字符,从而能够避免部分汉字与竖线分隔符混淆的问题,很好地完成批量文件的解析。
本发明实施例的方法适用于多种程序语言的上传文件解析组件,例如JAVA、C、C++等程序语言的上传文件公共解析组件。
一个实施例中,在上述步骤S120中,接收上传的文件数据流,并读取所述文件数据流,具体实施方式可为:接收上传的文件数据流,并将所述文件数据流读取为成行数据。
本实施例中,将所述文件数据流读取为成行数据,可以文件的每一行进行解析。
一个实施例中,文件数据流的文件格式可以为:
TableStart;//文件开始信息第一行line NO.1
TableDetail;//文件总的描述信息第二行line NO.2
BodyList;//文件体信息第三行至PAYFEEEND line NO.2-line NO.N
TableEnd;//文件结束信息第N+1行PAYFEEEND
LastList;//文件尾信息第N+2行至文件结束
本实施例中,每一个文件都可包括上述五部分。最后一部分(文件尾信息)可以为空。
图2是本发明一实施例中将文本体数据由原始编码格式转换为关于语言的字符编码格式方法的流程示意图。如图2所示,在上述步骤S120中,将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式的方法,可包括步骤:
S121:判断所述成行数据是否为文本体数据;
S122:若是,将所述成行数据转换由其原始编码格式转换为关于语言的字符编码格式。
一个实施例中,读取的文件数据流中,第三行至倒数第二行或第三行至倒数第一行可以是文本体数据。此时,具体地,可以根据读取成行数据所在的行数判断该行数据是否为文本体数据。
图3是本发明一实施例中根据字符编码格式的分隔符解析文本体数据的方法流程示意图。如图3所示,在上述步骤S130中,根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理的方法,可包括步骤:
S131:判断所述字符编码格式的成行数据中的字符是否为所述字符编码格式的文本体数据中的分隔符;
S132:若是,将所述字符编码格式的成行数据中的所述字符之前的字符以键和值对照的形式放置到一个MAP集合中;
S133:按成行数据的读取顺序,将各所述MAP集合放置到一个列表中,并将所述列表放置到所述文件数据流的文件顶层MAP中,用于显示或信息处理。
文本体数据(文本体信息)是文件数据流中主要需要解析的数据。键可以自行设定,值主要是可指文本体数据的解析字段。本实施例中,首先根据上传文件的编码格式将这一行数据转换为关于语言的字符编码格式(一般可为GBK,可由客户定义),判断每一个字符是否为定义的分隔符。如果为定义的分隔符,就将分隔符前面的字符根据键Key和值Value对照的形式,例如Key=Value的形式,将Key和Value放到MAP里。然后,将存放每一行数据的MAP放入一个列表List中,把这个List也放到文件顶层MAP中,从而可以实现利用字符对上传的文件数据流进行成功解析。
每个文件的相关信息可以用一个MAP表示。一个实施例中,MAP集合支持字段:
("fields");//要解析的字段名称
("type");//分隔符
("condition");//判断这行是否合法的条件
BodyList和LastList增加定义的属性
("listName");//循环体的名称
本实施例中,利用该MAP集合可以直观、明确表示文件的相关信息。
图4是本发明另一实施例的文件上传解析方法的流程示意图。在上述步骤S120中,接收上传的文件数据流,并将所述文件数据流读取为成行数据。如图4所示,图1所示的文件上传解析方法,还可包括步骤:
S140:判断所述成行数据是否为文件开始信息、文件总描述信息或文件尾信息;
S150:若是,对所述成行数据解析后放置到所述文件数据流的文件顶层MAP中。
文件开始信息可以例如以“PAYOFFSTART”开始的信息。文件总描述信息例如可以包括总金额、总笔数等信息。文件尾信息例如可以是以“PAYFEEEND”开头的信息。
在上述步骤S150中,可以通过多种方式对文件开始信息、文件总描述信息及文件尾信息进行解析,例如读取后直接解析,或转换为关于语言的符号编码格式后再解析。直接解析可以节省文件解析时间。
本实施例中,对文件开始信息、文件总描述信息或文件尾信息的解析方法可以不同,解析后放置到文件数据流的文件顶层MAP中,便于开发人员后续提取使用。
一个实施例中,文件开始信息可以在第一行,文件总描述信息可以在第二行,文件尾信息可以在最后一行。可以通过判断成行数据是否在第一行,判断该成行数据是否为文件开始信息,可以通过判断成行数据是否在第二行,判断该成行数据是否为文件总描述信息。如果读取到文件尾信息,例如读取到以“PAYFEEEND”开头的信息,即如果这一行数据匹配“PAYFEEEND”,可以认为文件数据流的文件已经读取结束。
本发明多个实施例中,把已经解析的每一行都放到一个MAP中,可以方便开发人员使用。多个实施例中,判断读取的成行的数据是第一行、第二行、最后一行,还是第三行至倒数第一行,可以针对每一行数据进行不同的处理,解析方法灵活。
图5是本发明再一实施例的文件上传解析方法的流程示意图。在上述步骤S120中,接收上传的文件数据流,并将所述文件数据流读取为成行数据。如图5所示,图1所示的文件上传解析方法,上述步骤S110中,读取所述文件数据流之前,还可包括步骤:
S160:在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义。
本实施例中,通过在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义,仅需修改xml文件,即可针对多种不同原始编码格式实现多种语言的编码格式解析,实现修改各成行数据所在行的含义,从而可以避免重新编程,从而减少工作量,方便使用。提前设置文本体数据所用的键,便于后续使用,便于通过键调用不同的解析字段。
一个具体实施例中,xml文件可以为:
一个具体实施例中,文件上传解析方法实现的成需可为:
本发明实施例的文件上传解析方法,通过将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,并根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,有效利用字符判断数据字符是否和分隔符一致来解析上传文件,能够支持所有字符,从而能够避免部分汉字与竖线分隔符混淆的问题,很好地完成批量文件的解析。
基于与图1所示的文件上传解析方法相同的发明构思,本申请实施例还提供了一种文件上传解析装置,如下面实施例所述。由于该文件上传解析装置解决问题的原理与文件上传解析方法相似,因此该文件上传解析装置的实施可以参见文件上传解析方法的实施,重复之处不再赘述。
图6是本发明一实施例的文件上传解析装置的结构示意图。如图6所示,本发明实施例的文件上传解析装置,可包括:文件数据流读取单元210、编码格式转换单元220及文本体数据解析单元230,上述各单元顺序连接。
文件数据流读取单元210用于执行:接收上传的文件数据流,并读取所述文件数据流。
编码格式转换单元220用于执行:将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式。
文本体数据解析单元230用于执行:根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。
在上述文件数据流读取单元210中,该原始编码格式一般为UTF8(8-bit UnicodeTransformation Format,8位Unicode转换格式或万国码)的格式。关于语言的字符编码格式可以多种不同编码格式,例如GBK(扩展中文)格式,在其他实施例中,可以是关于其他语言例如韩文、日文等的字符编码格式,具体可以根据需要选择。
在上述文本体数据解析单元230中,利用关于语言的字符编码格式的文本体数据中的分隔符对该种字符编码格式的文本体数据进行解析,汉字的字符不会与分隔符重复,从而可以有效避免部分汉字与竖线分隔符混淆的问题。上传的文件数据流的解析结果可以用于显示给用户,例如网页显示,或者可以用于信息处理,例如划账处理。在上传文件数据流正确解析的情况下,显示结果正确,信息处理成功率高。
本发明实施例中,在发现BFW解析失败的原因的基础上,通过将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,并根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,有效利用字符判断数据字符是否和分隔符一致来解析上传文件,能够支持所有字符,从而能够避免部分汉字与竖线分隔符混淆的问题,很好地完成批量文件的解析。
一个实施例中,所述文件数据流读取单元210,可包括:文件数据流读取模块211。文件数据流读取模块211用于执行:接收上传的文件数据流,并将所述文件数据流读取为成行数据。
一个实施例中,文件数据流读取单元210还可以用于执行:文件数据流的文件格式可以为:
TableStart;//文件开始信息第一行line NO.1
TableDetail;//文件总的描述信息第二行line NO.2
BodyList;//文件体信息第三行至PAYFEEEND line NO.2-line NO.N
TableEnd;//文件结束信息第N+1行PAYFEEEND
LastList;//文件尾信息第N+2行至文件结束
本实施例中,每一个文件都可包括上述五部分。最后一部分(文件尾信息)可以为空。
图7是本发明一实施例中编码格式转换单元的结构示意图。如图7所示,所述编码格式转换单元220,可包括:文本体数据判断模块221和编码格式转换模块222,二者相互连接。
文本体数据判断模块221用于执行:判断所述成行数据是否为文本体数据。
编码格式转换模块222用于执行:若是,将所述成行数据转换由其原始编码格式转换为关于语言的字符编码格式。
一个实施例中,读取的文件数据流中,第三行至倒数第二行或第三行至倒数第一行可以是文本体数据。此时,具体地,可以根据读取成行数据所在的行数判断该行数据是否为文本体数据。
图8是本发明一实施例中文本体数据解析单元的结构示意图。如图8所示,所述文本体数据解析单元230,可包括:分隔符识别模块231、文本体数据解析模块232及MAP集合汇总模块233,上述各模块顺序连接。
分隔符识别模块231用于执行:判断所述字符编码格式的成行数据中的字符是否为所述字符编码格式的文本体数据中的分隔符。
文本体数据解析模块232用于执行:若是,将所述字符编码格式的成行数据中的所述字符之前的字符以键和值对照的形式放置到一个MAP集合中。
MAP集合汇总模块233用于执行:按成行数据的读取顺序,将各所述MAP集合放置到一个列表中,并将所述列表放置到所述文件数据流的文件顶层MAP中,用于显示或信息处理。
文本体数据(文本体信息)是文件数据流中主要需要解析的数据。键可以自行设定,值主要是可指文本体数据的解析字段。本实施例中,首先根据上传文件的编码格式将这一行数据转换为关于语言的字符编码格式(一般可为GBK,可由客户定义),判断每一个字符是否为定义的分隔符。如果为定义的分隔符,就将分隔符前面的字符根据键Key和值Value对照的形式,例如Key=Value的形式,将Key和Value放到MAP里。然后,将存放每一行数据的MAP放入一个列表List中,把这个List也放到文件顶层MAP中,从而可以实现利用字符对上传的文件数据流进行成功解析。
图9是本发明另一实施例的文件上传解析装置的结构示意图。如图9所示,图1所示的文件上传解析装置,还可包括:文件信息判断单元240和文件信息解析单元250,二者相互连接,文件信息判断单元240与文件数据流读取单元210连接。
文件信息判断单元240用于执行:判断所述成行数据是否为文件开始信息、文件总描述信息或文件尾信息。
文件信息解析单元250用于执行:若是,对所述成行数据解析后放置到所述文件数据流的文件顶层MAP中。
在上述文件信息解析单元250中,可以通过多种方式对文件开始信息、文件总描述信息及文件尾信息进行解析,例如读取后直接解析,或转换为关于语言的符号编码格式后再解析。直接解析可以节省文件解析时间。
本实施例中,对文件开始信息、文件总描述信息或文件尾信息的解析方法可以不同,解析后放置到文件数据流的文件顶层MAP中,便于开发人员后续提取使用。
一个实施例中,文件开始信息可以在第一行,文件总描述信息可以在第二行,文件尾信息可以在最后一行。可以通过判断成行数据是否在第一行,判断该成行数据是否为文件开始信息,可以通过判断成行数据是否在第二行,判断该成行数据是否为文件总描述信息。如果读取到文件尾信息,例如读取到以“PAYFEEEND”开头的信息,即如果这一行数据匹配“PAYFEEEND”,可以认为文件数据流的文件已经读取结束。
本发明多个实施例中,把已经解析的每一行都放到一个MAP中,可以方便开发人员使用。多个实施例中,判断读取的成行的数据是第一行、第二行、最后一行,还是第三行至倒数第一行,可以针对每一行数据进行不同的处理,解析方法灵活。
图10是本发明再一实施例的文件上传解析装置的结构示意图。如图10所示,图1所示的文件上传解析装置,还可包括:xml文件定义单元260,与文件数据流读取单元210连接。
xml文件定义单元260用于执行:在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义。
本实施例中,通过在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义,仅需修改xml文件,即可针对多种不同原始编码格式实现多种语言的编码格式解析,实现修改各成行数据所在行的含义,从而可以避免重新编程,从而减少工作量,方便使用。提前设置文本体数据所用的键,便于后续使用,便于通过键调用不同的解析字段。
本发明实施例的文件上传解析装置,通过将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,并根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,有效利用字符判断数据字符是否和分隔符一致来解析上传文件,能够支持所有字符,从而能够避免部分汉字与竖线分隔符混淆的问题,很好地完成批量文件的解析。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种文件上传解析方法,其特征在于,包括:
接收上传的文件数据流,并读取所述文件数据流;
将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式;
根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。
2.如权利要求1所述的文件上传解析方法,其特征在于,接收上传的文件数据流,并读取所述文件数据流,包括:
接收上传的文件数据流,并将所述文件数据流读取为成行数据。
3.如权利要求2所述的文件上传解析方法,其特征在于,将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,包括:
判断所述成行数据是否为文本体数据;
若是,将所述成行数据转换由其原始编码格式转换为关于语言的字符编码格式。
4.如权利要求3所述的文件上传解析方法,其特征在于,根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理,包括:
判断所述字符编码格式的成行数据中的字符是否为所述字符编码格式的文本体数据中的分隔符;
若是,将所述字符编码格式的成行数据中的所述字符之前的字符以键和值对照的形式放置到一个MAP集合中;
按成行数据的读取顺序,将各所述MAP集合放置到一个列表中,并将所述列表放置到所述文件数据流的文件顶层MAP中,用于显示或信息处理。
5.如权利要求2所述的文件上传解析方法,其特征在于,还包括:
判断所述成行数据是否为文件开始信息、文件总描述信息或文件尾信息;
若是,对所述成行数据解析后放置到所述文件数据流的文件顶层MAP中。
6.如权利要求2所述的文件上传解析方法,其特征在于,读取所述文件数据流之前,还包括:
在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义。
7.一种文件上传解析装置,其特征在于,包括:
文件数据流读取单元,用于执行:接收上传的文件数据流,并读取所述文件数据流;
编码格式转换单元,用于执行:将读取的所述文件数据流中的文本体数据由其原始编码格式转换为关于语言的字符编码格式,所述原始编码格式不同于所述字符编码格式;
文本体数据解析单元,用于执行:根据所述字符编码格式的文本体数据中的分隔符,解析所述字符编码格式的文本体数据,解析结果用于显示或信息处理。
8.如权利要求7所述的文件上传解析装置,其特征在于,所述文件数据流读取单元,包括:
文件数据流读取模块,用于执行:接收上传的文件数据流,并将所述文件数据流读取为成行数据。
9.如权利要求8所述的文件上传解析装置,其特征在于,所述编码格式转换单元,包括:
文本体数据判断模块,用于执行:判断所述成行数据是否为文本体数据;
编码格式转换模块,用于执行:若是,将所述成行数据转换由其原始编码格式转换为关于语言的字符编码格式。
10.如权利要求9所述的文件上传解析装置,其特征在于,所述文本体数据解析单元,包括:
分隔符识别模块,用于执行:判断所述字符编码格式的成行数据中的字符是否为所述字符编码格式的文本体数据中的分隔符;
文本体数据解析模块,用于执行:若是,将所述字符编码格式的成行数据中的所述字符之前的字符以键和值对照的形式放置到一个MAP集合中;
MAP集合汇总模块,用于执行:按成行数据的读取顺序,将各所述MAP集合放置到一个列表中,并将所述列表放置到所述文件数据流的文件顶层MAP中,用于显示或信息处理。
11.如权利要求8所述的文件上传解析装置,其特征在于,还包括:
文件信息判断单元,用于执行:判断所述成行数据是否为文件开始信息、文件总描述信息或文件尾信息;
文件信息解析单元,用于执行:若是,对所述成行数据解析后放置到所述文件数据流的文件顶层MAP中。
12.如权利要求8所述的文件上传解析装置,其特征在于,还包括:
xml文件定义单元,用于执行:在所述文件数据流的xml文件中,定义所述文件数据流的原始编码格式、转换后所述文件数据流的字符编码格式、解析后文本体数据所用的键及各成行数据所在行的含义。
CN201610912985.4A 2016-10-19 2016-10-19 文件上传解析方法及装置 Pending CN106534267A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610912985.4A CN106534267A (zh) 2016-10-19 2016-10-19 文件上传解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610912985.4A CN106534267A (zh) 2016-10-19 2016-10-19 文件上传解析方法及装置

Publications (1)

Publication Number Publication Date
CN106534267A true CN106534267A (zh) 2017-03-22

Family

ID=58332813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610912985.4A Pending CN106534267A (zh) 2016-10-19 2016-10-19 文件上传解析方法及装置

Country Status (1)

Country Link
CN (1) CN106534267A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341135A (zh) * 2017-05-24 2017-11-10 中国科学院信息工程研究所 一种面向通用文本格式的解析方法及工具
CN108933779A (zh) * 2018-05-23 2018-12-04 和芯星通科技(北京)有限公司 输入混合数据流识别方法和装置、计算机可读存储介质
CN110705215A (zh) * 2019-09-24 2020-01-17 昆山龙腾光电股份有限公司 Mipi配置文件的编码方法、编码装置及显示装置
CN110851400A (zh) * 2018-07-25 2020-02-28 北京国双科技有限公司 文本数据的处理方法及装置
CN111488727A (zh) * 2020-03-24 2020-08-04 南阳柯丽尔科技有限公司 词文件解析方法、词文件解析设备和计算机可读存储介质
CN111898340A (zh) * 2020-07-30 2020-11-06 北京字节跳动网络技术有限公司 文件的处理方法、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492322A (zh) * 2003-08-20 2004-04-28 放 黄 xml数据压缩和解压方法
CN1627288A (zh) * 2003-12-10 2005-06-15 鸿富锦精密工业(深圳)有限公司 文件转换系统与方法
CN101876965A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 用于对文本进行处理的方法和系统
CN102073663A (zh) * 2009-11-24 2011-05-25 北大方正集团有限公司 一种快速处理xml压缩数据的方法及其装置
CN102480335A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种业务数据的发送方法及系统
CN104834510A (zh) * 2014-12-19 2015-08-12 北汽福田汽车股份有限公司 Can协议代码源文件的生成方法和装置
CN105827541A (zh) * 2016-04-06 2016-08-03 中国建设银行股份有限公司 用于联机交易的数据报文处理方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492322A (zh) * 2003-08-20 2004-04-28 放 黄 xml数据压缩和解压方法
CN1627288A (zh) * 2003-12-10 2005-06-15 鸿富锦精密工业(深圳)有限公司 文件转换系统与方法
CN101876965A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 用于对文本进行处理的方法和系统
CN102073663A (zh) * 2009-11-24 2011-05-25 北大方正集团有限公司 一种快速处理xml压缩数据的方法及其装置
CN102480335A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种业务数据的发送方法及系统
CN104834510A (zh) * 2014-12-19 2015-08-12 北汽福田汽车股份有限公司 Can协议代码源文件的生成方法和装置
CN105827541A (zh) * 2016-04-06 2016-08-03 中国建设银行股份有限公司 用于联机交易的数据报文处理方法和系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341135A (zh) * 2017-05-24 2017-11-10 中国科学院信息工程研究所 一种面向通用文本格式的解析方法及工具
CN107341135B (zh) * 2017-05-24 2019-11-05 中国科学院信息工程研究所 一种面向通用文本格式的解析方法及工具
CN108933779A (zh) * 2018-05-23 2018-12-04 和芯星通科技(北京)有限公司 输入混合数据流识别方法和装置、计算机可读存储介质
CN108933779B (zh) * 2018-05-23 2021-12-07 和芯星通科技(北京)有限公司 输入混合数据流识别方法和装置、计算机可读存储介质
CN110851400A (zh) * 2018-07-25 2020-02-28 北京国双科技有限公司 文本数据的处理方法及装置
CN110851400B (zh) * 2018-07-25 2023-01-17 北京国双科技有限公司 文本数据的处理方法及装置
CN110705215A (zh) * 2019-09-24 2020-01-17 昆山龙腾光电股份有限公司 Mipi配置文件的编码方法、编码装置及显示装置
CN110705215B (zh) * 2019-09-24 2023-10-03 昆山龙腾光电股份有限公司 Mipi配置文件的编码方法、编码装置及显示装置
CN111488727A (zh) * 2020-03-24 2020-08-04 南阳柯丽尔科技有限公司 词文件解析方法、词文件解析设备和计算机可读存储介质
CN111488727B (zh) * 2020-03-24 2023-09-19 南阳柯丽尔科技有限公司 词文件解析方法、词文件解析设备和计算机可读存储介质
CN111898340A (zh) * 2020-07-30 2020-11-06 北京字节跳动网络技术有限公司 文件的处理方法、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN106534267A (zh) 文件上传解析方法及装置
CN105447099B (zh) 日志结构化信息提取方法及装置
US7315867B2 (en) Document processing apparatus, document processing method, document processing program, and recording medium
CA2815391C (en) Systems, methods, and interfaces for display of inline content and block level content on an access device
US7613996B2 (en) Enabling selection of an inferred schema part
WO2007115501A1 (en) Method and system for facilitating rule-based document content mining
US20130007586A1 (en) Method and system for creating and using web feed display templates
US7786994B2 (en) Determination of unicode points from glyph elements
US20070150494A1 (en) Method for transformation of an extensible markup language vocabulary to a generic document structure format
CN102956231A (zh) 基于半自动校正的语音关键信息记录装置及方法
US9286272B2 (en) Method for transformation of an extensible markup language vocabulary to a generic document structure format
US20060005115A1 (en) Method for facilitating the entry of mathematical expressions
CN110275938B (zh) 基于非结构化文档的知识提取方法及系统
CN104216868B (zh) 一种文档显示格式的适配方法及装置
EP3913536A1 (en) Phrase code generation method and apparatus, phrase code recognition method and apparatus, and storage medium
CN115713063A (zh) 文档转换方法、装置、设备及存储介质
CN106775914B (zh) 一种自动生成键值的代码国际化方法及装置
JP2001101036A (ja) ログ情報の格納及び利用方法
CN109241501A (zh) 文件解析方法和装置
CN116306506A (zh) 一种基于内容识别的智能邮件模板方法
US20100017708A1 (en) Information output apparatus, information output method, and recording medium
KR101165201B1 (ko) 컨텐츠 제공 시스템의 변환서버
CN109977405A (zh) 一种智能语义匹配方法
JP2009003717A (ja) ふり仮名収集利用装置及びふり仮名収集利用方法
CN113627134A (zh) 数据标注系统及数据标注方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170322

RJ01 Rejection of invention patent application after publication