一种文件拆分方法及装置制造方法及图纸

技术编号:14415610 阅读:47 留言:0更新日期:2017-01-12 03:40
本发明专利技术公开了一种文件拆分方法及装置,所述方法包括:获取待拆分的文本文件;根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,所述文本文件中的每一条记录采用分隔符进行分隔;判断所述拆分位置是否位于相邻分隔符之间,如果是,则在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分,如果否,则在所述拆分位置进行拆分。本发明专利技术能够使拆分出的子文件中不存在断行数据。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种文件拆分方法及装置
技术介绍
AIX(AdvancedInteractiveeXecutive)是IBM基于AT&TUnixSystemV开发的一套类UNIX操作系统,运行在IBM专有的Power系列芯片设计的小型机硬件系统之上。AIX操作系统提供的文件拆分命令split,提供了按被拆分出的子文件大小拆分文件的功能,但是不能保证被拆分出的子文件中的数据不断行。比如,当文件中记录了不同的用户数据时,比如用户名称、用户家庭住址、用户电话号码等等,当同一用户的相关信息在文件中顺序记录时,如果采用现有文件拆分方法,可能会使同一用户的相关信息拆分到两个子文件中,因此出现了断行现象。
技术实现思路
有鉴于此,本专利技术实施例的主要目的在于提供一种文件拆分方法及装置,能够使拆分出的子文件中不存在断行数据。本专利技术实施例提供了一种文件拆分方法,包括:获取待拆分的文本文件;根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,所述文本文件中的每一条记录采用分隔符进行分隔;判断所述拆分位置是否位于相邻分隔符之间,如果是,则在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分,如果否,则在所述拆分位置进行拆分。可选的,所述获取待拆分的文本文件,包括:根据用户输入的数据筛选条件,从ORACLE数据库中筛选数据内容,并以文本文件的形式记录筛选出的数据内容。可选的,所述根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,包括:利用多个进程进行同步操作,使每个进程分别根据被拆分后子文件的预置大小,分别定位一个拆分位置;相应地,所述如果所述拆分位置位于相邻分隔符之间,则在所述相邻分隔符中的前一分隔符处进行拆分,包括:如果对应进程确定所述拆分位置位于相邻分隔符之间,则对应进程在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分。可选的,所述以文本文件的形式记录筛选出的数据内容之后,包括:检测文件拆分开关是否开启;如果所述文件拆分开关开启,则执行文件拆分步骤,并将拆分出的所有子文件返回至客户端;如果所述文件拆分开关关闭,则将所述文本文件返回至客户端。可选的,所述将拆分出的所有子文件返回至客户端,包括:如果文件压缩开关开启,则将拆分出的所有子文件打包后压缩,并将压缩后的所有子文件返回至客户端;如果文件压缩开关关闭,则直接将拆分出的所有子文件返回至客户端;相应地,所述将所述文本文件返回至客户端,包括:如果文件压缩开关开启,则压缩所述文本本件,并将压缩后的文本文件返回至客户端;如果文件压缩开关关闭,则直接将所述文本文件返回至客户端。本专利技术实施例还提供了一种文件拆分装置,包括:文件获取单元,用于获取待拆分的文本文件;位置确定单元,用于根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,所述文本文件中的每一条记录采用分隔符进行分隔;文件拆分单元,用于判断所述拆分位置是否位于相邻分隔符之间,如果是,则在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分,如果否,则在所述拆分位置进行拆分。可选的,所述文件获取单元,包括:数据筛选子单元,用于根据用户输入的数据筛选条件,从ORACLE数据库中筛选数据内容;文件形成子单元,用于以文本文件的形式记录筛选出的数据内容。可选的,所述位置确定单元,具体用于利用多个进程进行同步操作,使每个进程分别根据被拆分后子文件的预置大小,分别定位一个拆分位置;相应地,所述文件拆分单元,具体用于如果对应进程确定所述拆分位置位于相邻分隔符之间,则对应进程在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分。可选的,所述装置还包括:拆分开关检测单元,用于在所述文件形成子单元以文本文件的形式记录筛选出的数据内容之后,检测文件拆分开关是否开启;子文件返回单元,用于如果所述文件拆分开关开启,则执行文件拆分步骤,并将拆分出的所有子文件返回至客户端;文本文件返回单元,用于如果所述文件拆分开关关闭,则将所述文本文件返回至客户端。可选的,所述子文件返回单元,包括:第一子文件返回子单元,用于如果文件压缩开关开启,则将拆分出的所有子文件打包后压缩,并将压缩后的所有子文件返回至客户端;第二子文件返回子单元,用于如果文件压缩开关关闭,则直接将拆分出的所有子文件返回至客户端;相应地,所述文本文件返回单元,包括:第一文本文件返回子单元,用于如果文件压缩开关开启,则压缩所述文本本件,并将压缩后的文本文件返回至客户端;第二文本文件返回子单元,用于如果文件压缩开关关闭,则直接将所述文本文件返回至客户端。本专利技术实施例提供的文件拆分方法及装置,获取待拆分的文本文件;根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,所述文本文件中的每一条记录采用分隔符进行分隔;判断所述拆分位置是否位于相邻分隔符之间,如果是,则在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分,如果否,则在所述拆分位置进行拆分。可见,通过在文本文件中的每条记录之间添加分隔符,来对每一记录的整体数据与其它记录进行分隔,基于此,当对文本文件进行拆分时,如果根据子文件大小确定的拆分位置位于某条记录中,则可以选择该记录的前后分隔符之一作为实际的拆分位置,这样可以保证子文件数据不断行。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例文件拆分方法的流程示意图;图2为本专利技术实施例文件拆分装置的组成示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在介绍本专利技术实施例前,首先就涉及的本专利技术涉及的技术术语进行介绍:ORACLE数据库:OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统;SQL:结构化查询语言(StructuredQueryLanguage,简称SQL);DOS:是磁盘操作系统的缩写,是个人计算机上的一类操作系统;UNIX:UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。参见图1,为本专利技术实施例提供的文件拆分方法的流程示意图,该方法包括以下步骤:步骤101:获取待拆分的文本文件。在本实施例中,所述文本文件的获取可以存在以下两种情形:在第一种情形中,所述文本文件可以是已经存在的文本文件。对于这种情形,可以直接从文件存储位置调取待拆分的文本文件。在第二种情形中,可以从数据库中获取数据并形成文本文件。对于这种情形,步骤101可以包括:根据用户输入的数据筛选条件(该数据筛选条件可以转化为SQL语句实现),从ORACLE数据库中筛选数据内容,并以文本文件(该文本文件可以支持DOS或UNIX等格式本文档来自技高网...
一种文件拆分方法及装置

【技术保护点】
一种文件拆分方法,其特征在于,包括:获取待拆分的文本文件;根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,所述文本文件中的每一条记录采用分隔符进行分隔;判断所述拆分位置是否位于相邻分隔符之间,如果是,则在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分,如果否,则在所述拆分位置进行拆分。

【技术特征摘要】
1.一种文件拆分方法,其特征在于,包括:获取待拆分的文本文件;根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,所述文本文件中的每一条记录采用分隔符进行分隔;判断所述拆分位置是否位于相邻分隔符之间,如果是,则在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分,如果否,则在所述拆分位置进行拆分。2.根据权利要求1所述的方法,其特征在于,所述获取待拆分的文本文件,包括:根据用户输入的数据筛选条件,从ORACLE数据库中筛选数据内容,并以文本文件的形式记录筛选出的数据内容。3.根据权利要求1所述的方法,其特征在于,所述根据被拆分后子文件的预置大小,确定所述文本文件的各个拆分位置,包括:利用多个进程进行同步操作,使每个进程分别根据被拆分后子文件的预置大小,分别定位一个拆分位置;相应地,所述如果所述拆分位置位于相邻分隔符之间,则在所述相邻分隔符中的前一分隔符处进行拆分,包括:如果对应进程确定所述拆分位置位于相邻分隔符之间,则对应进程在所述相邻分隔符中的前一分隔符或后一分隔符处进行拆分。4.根据权利要求2所述的方法,其特征在于,所述以文本文件的形式记录筛选出的数据内容之后,包括:检测文件拆分开关是否开启;如果所述文件拆分开关开启,则执行文件拆分步骤,并将拆分出的所有子文件返回至客户端;如果所述文件拆分开关关闭,则将所述文本文件返回至客户端。5.根据权利要求4所述的方法,其特征在于,所述将拆分出的所有子文件返回至客户端,包括:如果文件压缩开关开启,则将拆分出的所有子文件打包后压缩,并将压缩后的所有子文件返回至客户端;如果文件压缩开关关闭,则直接将拆分出的所有子文件返回至客户端;相应地,所述将所述文本文件返回至客户端,包括:如果文件压缩开关开启,则压缩所述文本本件,并将压缩后的文本文件返回至客户端;如果文件压缩开关关闭,则直接将所述文本文件返回至客户端。6.一种文件拆分装置,其特征在于,包括:文件获取单元,用于获取待拆分的文...

【专利技术属性】
技术研发人员:陈浩杨晓辉王宝义
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1