一种文件合并方法及装置的制造方法

文档序号:9217203阅读:296来源:国知局
一种文件合并方法及装置的制造方法
【技术领域】
[0001] 本发明涉及数据处理领域,特别涉及一种文件合并方法及装置。
【背景技术】
[0002] 随着电子技术的发展,通过电子设备阅读图书文件的方式已日渐成为一种趋势。 而电子文件的来源,往往是通过网络进行下载的。
[0003] 目前,当用户选择多文件进行下载时,常采用的处理方法是:使用打包压缩软件或 方法将多个文件合成一个打包的文件,现有的常见打包格式为zip、rar、7z,以zip为例,多 电子书打包成zip格式,打包流程如图1所示。
[0004] 这种方法虽然可以将多个文件打包成一个文件,但已经没有一个完整的电子书目 录展现给用户;即使有软件支持解析出包是各文件的目录,但也因为没有目录关系描述,只 能按照各文件独立目录展示,不是一个整体。而且,当用户选择一本电子书中的部分内容进 行下载,而选择的内容可能不连续,上述的方法无法进行处理,只能根据用户选择的内容独 立下载每一块,同样的,很难生成一个系统的目录。

【发明内容】

[0005] 本发明要解决的技术问题是提供一种文件合并方法及装置,实现根据用户选择的 待打包文件,生成一具有完整目录的目标文件,从而方便查阅的目的。
[0006] 为解决上述技术问题,本发明的实施例提供一种文件合并方法,包括下列步骤:
[0007] 在检测到用户已选择的待合并文件后,提取所述待合并文件的目录项信息,生成 原始目录;
[0008] 获取用户对所述原始目录的操作/不操作信息,重新编辑目录项信息,生成目标 目录;
[0009] 对所述目标目录的文件数据进行合并,生成目标文件。
[0010] 其中,获取用户对所述原始目录的操作/不操作信息,重新编辑目录项信息,生成 目标目录的步骤包括:
[0011] 获取用户对所述原始目录的操作信息,重新编辑目录项信息,生成目标目录;或
[0012] 获取用户对所述原始目录的不操作信息,根据原始的目录项信息直接生成目标目 录。
[0013] 其中,所述目录项信息包括:目录项ID、目录项名称、父项ID、兄项ID。
[0014] 其中,获取用户对所述原始目录的操作信息,重新编辑目录项信息,生成目标目录 的步骤包括:
[0015] 在检测到用户的删除操作时,删除已选中的目录项;
[0016] 判断删除目录项是否有子目录项,若有子目录项,则将所述删除目录项的所有子 目录项的父项ID修改为所述删除目录项的父项ID;
[0017] 判断所述删除目录项的下一目录项与所述删除目录项是否为并列关系,若为并列 关系,则将所述删除目录项的下一目录项的兄项ID修改为所述删除目录项的兄项ID。 [0018] 其中,获取用户对所述原始目录的操作信息,重新编辑目录项信息,生成目标目录 的步骤还包括:
[0019] 在检测到用户编辑目录项名称的操作时,判断新目录项名称是否为空,若新目录 项名称不为空,则将原目录项名称修改为新目录项名称;若新目录项名称为空,则保留原目 录项名称。
[0020] 其中,获取用户对所述原始目录的操作信息,重新编辑目录项信息,生成目标目录 的步骤还包括:
[0021] 在检测到用户调整目录项位置的操作时,判断调整目录项的父目录项是否发生变 化,若父目录项变化且存在,则将新父项ID修改为当前父目录项的目录项ID;若父目录项 变化但不存在,则将新父项ID设置为0 ;
[0022] 判断调整目录的兄目录项是否发生变化,若兄目录项变化且存在,则将新兄项ID 修改为当前兄目录项的目录项ID;若兄目录项变化但不存在,则将新兄项ID设置为0。
[0023] 其中,对所述目标目录的文件数据进行合并,生成目标文件的步骤包括:
[0024] 生成目标文件头信息,所述头信息包括:目录信息区数量和目录信息区偏移量;
[0025] 根据所述目标目录顺序判断每个文件是否需要压缩,若需要压缩,则根据指定的 压缩方式进行压缩并将当前文件流写入当前数据区尾部;若不需要压缩,则直接将当前文 件流写入当前数据区尾部;
[0026] 将文件信息填入文件信息结构;
[0027] 根据所述目标目录信息生成目录数据区数据,根据所述文件信息结构生成文件映 射数据区数据,填入文件目录信息区;
[0028] 根据文件目录信息区数据修改文件头信息的目录信息区数量和目录信息区偏移 量。
[0029] 本发明实施例还提供了一种文件合并装置,包括:
[0030] 原始目录生成模块,用于在检测到用户已选择的待合并文件后,提取所述待合并 文件的目录项信息,生成原始目录;
[0031] 目标目录生成模块,用于获取用户对所述原始目录的操作/不操作信息,重新编 辑目录项信息,生成目标目录;
[0032] 目标文件生成模块,用于对所述目标目录的文件数据进行合并,生成目标文件。 [0033] 其中,所述目标目录生成模块包括:
[0034] 第一目标目录生成子模块,用于获取用户对所述原始目录的操作信息,重新编辑 目录项信息,生成目标目录;
[0035] 第二目标目录生成子模块,用于获取用户对所述原始目录的不操作信息,根据原 始的目录项信息直接生成目标目录。
[0036] 其中,所述目录项信息包括:目录项ID、目录项名称、父项ID、兄项ID。
[0037] 其中,所述第一目标目录生成子模块包括:
[0038] 删除单元,用于在检测到用户的删除操作时,删除已选中的目录项;
[0039] 第一处理单元,用于判断删除目录项是否有子目录项,若有子目录项,则将所述删 除目录项的所有子目录项的父项ID修改为所述删除目录项的父项ID;
[0040] 第二处理单元,用于判断所述删除目录项的下一目录项与所述删除目录项是否为 并列关系,若为并列关系,则将所述删除目录项的下一目录项的兄项ID修改为所述删除目 录项的兄项ID。
[0041] 其中,所述第一目标目录生成子模块还包括:
[0042] 第三处理单元,用于在检测到用户编辑目录项名称的操作时,判断新目录项名称 是否为空,若新目录项名称不为空,则将原目录项名称修改为新目录项名称;若新目录项名 称为空,则保留原目录项名称。
[0043] 其中,所述第一目标目录生成子模块还包括:
[0044] 第四处理单元,用于在检测到用户调整目录项位置的操作时,判断调整目录项的 父目录项是否发生变化,若父目录项变化且存在,则将新父项ID修改为当前父目录项的目 录项ID;若父目录项变化但不存在,则将新父项ID设置为0 ;
[0045] 第五处理单元,用于判断调整目录的兄目录项是否发生变化,若兄目录项变化且 存在,则将新兄项ID修改为当前兄目录项的目录项ID;若兄目录项变化但不存在,则将新 兄项ID设置为0。
[0046] 其中,所述目标文件生成模块包括:
[0047]目标文件头信息生成单元,用于生成目标文件头信息,所述头信息包括:目录信息 区数量和目录信息区偏移量;
[0048] 文件流写入单元,用于根据所述目标目录顺序判断每个文件是否需要压缩,若需 要压缩,则根据指定的压缩方式进行压缩并将当前文件流写入当前数据区尾部;若不需要 压缩,则直接将当前文件流写入当前数据区尾部;
[0049] 文件信息结构填入单元,用于将文件信息填入文件信息结构;
[0050] 文件目录信息区填入单元,用于根据所述目标目录信息生成目录数据区数据,根 据所述文件信息结构生成文件映射数据区数据,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1