终端上的多项文件复制方法及装置转让专利

申请号 : CN201010619811.1

文献号 : CN102541945B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李娟段昌志

申请人 : 联芯科技有限公司

摘要 :

本发明涉及通信设备,公开了一种终端上的多项文件复制方法及终端。本发明中,在多项复制的过程中,遇到复制失败的文件时不停止复制过程而是直接跳过,继续复制后续文件,在整个复制过程中不需要用户参与操作。一次复制过程结束后,会把复制失败的文件和失败原因列出来让用户处理后选择是否再次尝试复制。由于在遇到无法复制的文件时,不需要中断整个复制过程而能在最后进行异常处理,从而保证了整个复制过程可以复制尽可能多的文件。而且,通过每次只加载一屏列表条目的方式,可以在极短的时间内完成创建。

权利要求 :

1.一种终端上的多项文件复制方法,其特征在于,包含以下步骤:

创建多选列表,供用户选择待复制的文件;其中,在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏;

统计用户选择的待复制文件的总数和总大小,根据待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制;其中,如果待复制文件的总个数大于预设的总数门限,或待复制文件的总大小大于预设的空间门限,则判定启动单独线程进行文件的复制;如果待复制文件的总个数小于或等于预设的总数门限,或待复制文件的总大小小于或等于预设的空间门限,则判定不启动单独线程进行文件的复制,直接进行文件的复制;

在多项复制的过程中,当发生当前文件复制失败时,直接跳过所述当前文件的复制,进行后续文件的复制;

在所述多项复制的过程结束后,显示复制失败的文件和失败原因,供用户选择是否再次尝试复制。

2.根据权利要求1所述的终端上的多项文件复制方法,其特征在于,在所述多项复制的过程之前,还包含以下步骤:判断所述待复制文件的总大小是否大于目标地址的剩余空间,如果大于所述剩余空间,则提示用户无法完成所有文件的复制;否则进入所述多项复制的过程。

3.根据权利要求2所述的终端上的多项文件复制方法,其特征在于,在所述创建多选列表的步骤之后,判断所述待复制文件的总大小是否大于所述剩余空间的步骤之前,还包含以下步骤:判断用户选择的目标地址与源地址是否相同,如果相同,则提示用户重新选择目标地址;如果不同,则进入所述判断所述待复制文件的总大小是否大于所述剩余空间的步骤。

4.根据权利要求1至3中任一项所述的终端上的多项文件复制方法,其特征在于,所述终端为手机。

5.一种终端上的多项文件复制装置,其特征在于,包含:

文件多选模块,用于在复制模块进行所述复制之前,创建多选列表,供用户选择待复制的文件;其中,所述文件多选模块在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏;

统计模块,用于统计用户选择的待复制文件的总数和总大小;

复制模块,用于对多项文件进行复制,所述复制模块包含单独线程判断子模块,用于根据所述统计模块统计的待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制,所述单独线程判断子模块在待复制文件的总个数大于预设的总数门限,或待复制文件的总大小大于预设的空间门限时,判定启动单独线程进行文件的复制;在待复制文件的总个数小于或等于预设的总数门限,或待复制文件的总大小小于或等于预设的空间门限时,判定不启动单独线程进行文件的复制,直接进行文件的复制;当所述复制模块在发生当前文件复制失败时,直接跳过所述当前文件的复制,进行后续文件的复制;

显示模块,用于在所述复制模块完成多项文件的复制后,显示复制失败的文件和失败原因,供用户选择是否再次尝试复制。

6.根据权利要求5所述的终端上的多项文件复制装置,其特征在于,所述终端还包括:剩余空间判断模块,用于判断所述待复制文件的总大小是否大于目标地址的剩余空间,并在判定结果为大于所述剩余空间时,提示用户无法完成所有文件的复制;在判定结果为小于或等于所述剩余空间时,指示所述复制模块进行文件的复制。

7.根据权利要求6所述的终端上的多项文件复制装置,其特征在于,所述终端还包括:目标地址判断模块,用于判断用户选择的目标地址与源地址是否相同,如果相同,则提示用户重新选择目标地址;如果不同,则触发所述剩余空间判断模块。

8.根据权利要求5至7中任一项所述的终端上的多项文件复制装置,其特征在于,所述终端为手机。

说明书 :

终端上的多项文件复制方法及装置

技术领域

[0001] 本发明涉及通信设备,特别涉及通信设备中的文件复制技术。

背景技术

[0002] 随着移动通信以及大容量存储系统的快速发展,如手机之类的终端上可以存储非常多的文件,同时为了适应手机的商务和娱乐应用,手机用户会经常复制大量文件。
[0003] 目前手机上复制文件时根据长文件名或短文件名直接从原存储装置通过处理器直接写到目标存储装置,具体见专利申请号为200810181559.3的文件复制方法以及文件复制装置。多项文件(即两项或两项以上的文件)复制功能是在用户需要复制的时候,让用户选择文件然后循环复制。目前的实现流程如图1所示:
[0004] 步骤101,创建文件多选界面,把界面上列表中的条目全部加载进去。
[0005] 步骤102,用户多项选择需要复制的多个文件放到链表中。
[0006] 步骤103,调用系统复制接口复制链表当前文件。
[0007] 步骤104,判断当前文件复制是否成功。如果复制成功,则移动到链表下一个结点继续步骤103;如果复制失败,则结束复制过程,提示用户复制失败,退出整个复制。
[0008] 步骤105,复制成功时移动链表到下一个文件,执行步骤106判断链表结束。
[0009] 步骤106,判断链表是否结束。如果结束,则提示用户复制结果,否则继续执行步骤103,104,105。
[0010] 步骤107,提示用户复制结果,复制结束。
[0011] 然而,上述多项文件的复制流程存在以下问题:
[0012] (1)在创建文件多选界面的时候,把列表项中的全部条目都加载进去需要消耗大量时间,如果存在非常多的文件,创建多选界面的过程耗时非常大。
[0013] (2)在循环复制文件的时候,文件管理器在全力进行复制,无法及时响应用户对文件管理器的其他操作,造成假死现象。
[0014] (3)开始复制第一个文件前没有检查目标存储器剩余空间是否足够,直到最后失败才告诉用户因空间不足复制失败。
[0015] (4)现有技术在复制过程中遇到无法复制的文件时就会停止后续复制,没有复制的文件还需要用户重新选择。

发明内容

[0016] 本发明的目的在于提供一种终端上的多项文件复制方法及装置,使得整个复制过程可以复制尽可能多的文件,复制失败的文件能在最后进行异常处理。
[0017] 为解决上述技术问题,本发明的实施方式提供了一种终端上的多项文件复制方法,包含以下步骤:
[0018] 创建多选列表,供用户选择待复制的文件;其中,在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏;
[0019] 统计用户选择的待复制文件的总数和总大小,根据待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制;其中,如果待复制文件的总个数大于预设的总数门限,或待复制文件的总大小大于预设的空间门限,则判定启动单独线程进行文件的复制;如果待复制文件的总个数小于或等于预设的总数门限,或待复制文件的总大小小于或等于预设的空间门限,则判定不启动单独线程进行文件的复制,直接进行文件的复制;
[0020] 在多项复制的过程中,当发生当前文件复制失败时,直接跳过所述当前文件的复制,进行后续文件的复制;
[0021] 在所述多项复制的过程结束后,显示复制失败的文件和失败原因,供用户选择是否再次尝试复制。
[0022] 本发明的实施方式还提供了一种终端上的多项文件复制装置,包含:
[0023] 文件多选模块,用于在所述复制模块进行所述复制之前,创建多选列表,供用户选择待复制的文件;其中,所述文件多选模块在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏;
[0024] 统计模块,用于统计用户选择的待复制文件的总数和总大小;
[0025] 复制模块,用于对多项文件进行复制,所述复制模块包含单独线程判断子模块,用于根据所述统计模块统计的待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制,所述单独线程判断子模块在待复制文件的总个数大于预设的总数门限,或待复制文件的总大小大于预设的空间门限时,判定启动单独线程进行文件的复制;在待复制文件的总个数小于或等于预设的总数门限,或待复制文件的总大小小于或等于预设的空间门限时,判定不启动单独线程进行文件的复制,直接进行文件的复制;当所述复制模块在发生当前文件复制失败时,直接跳过所述当前文件的复制,进行后续文件的复制;
[0026] 显示模块,用于在所述复制模块完成多项文件的复制后,显示复制失败的文件和失败原因,供用户选择是否再次尝试复制。
[0027] 本发明实施方式相对于现有技术而言,在多项复制的过程中,遇到复制失败的文件时不停止复制过程而是直接跳过,继续复制后续文件,在整个复制过程中不需要用户参与操作。一次复制过程结束后,会把复制失败的文件和失败原因列出来让用户处理后选择是否再次尝试复制。由于在多项复制过程中,遇到无法复制的文件时,不需要中断整个复制过程而能在最后进行异常处理,从而保证了整个复制过程可以复制尽可能多的文件。
[0028] 另外,在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏。由于通过每次只加载一屏列表条目的方式,可以在极短的时间内完成创建,避免了因全部加载列表项所造成的耗时,因此可以快速加载文件多选界面列表条目,及时响应用户操作。
[0029] 另外,需要根据待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制。由于启动线程也需要消耗一些资源,有些小文件的复制不调用单独线程反而更快,因此在完成文件多选后根据情况决定是否启动单独线程开始多项复制,可在复制过程中及时响应用户的其他操作。
[0030] 另外,在进行多项复制之前,判断待复制文件的总大小是否大于目标地址的剩余空间,如果大于剩余空间,则提示用户无法完成所有文件的复制,否则进入多项复制的过程。有效避免了因目标存储器的剩余空间不够,而导致的在复制最后阶段告知用户复制失败的情况,改善了用户体验。

附图说明

[0031] 图1是根据现有技术中的多项文件的复制流程图;
[0032] 图2是根据本发明第一实施方式的终端上的多项文件复制方法流程图;
[0033] 图3是根据本发明第一实施方式中的创建多选列表的流程图;
[0034] 图4是根据本发明第一实施方式中的用户选择待复制文件后至进入复制过程之前的流程图;
[0035] 图5是根据本发明第一实施方式中复制过程的流程图;
[0036] 图6是根据本发明第一实施方式中异常处理过程的流程图;
[0037] 图7是根据本发明第一实施方式中结果提示过程的流程图;
[0038] 图8是根据本发明第二实施方式的终端结构示意图。

具体实施方式

[0039] 本发明的第一实施方式涉及一种终端上的多项文件复制方法,本实施方式中的终端为手机。具体流程如图2所示。
[0040] 在步骤210中,创建多选列表供用户选择待复制的文件。在本步骤中,在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏。
[0041] 具体地说,如图3所示,在步骤301中,创建界面时,只加载第一页需要的列表项条目。因为全部加载所有文件时,耗时较大,在多选的时候,先加载第一屏页面即可满足界面要求,等用户需要翻页时再加载第二屏。
[0042] 在步骤302中,加载完成后,光标定位到第一个条目上。
[0043] 在步骤303中,判断是否选中当前项,用户有可能不选中而直接移动到下一项。
[0044] 在步骤304中,如果从未选中变成选中,则执行步骤305,否则执行步骤306。
[0045] 在步骤305中,当文件从未选中变成选中时,需要把文件总大小加上当前文件的大小。
[0046] 在步骤306中,当文件从选中变成未选中时,把文件总大小减去当前文件的大小。
[0047] 在步骤307中,在移动到下一项的时候判断是否需要加载下一屏,加载的时候只加载一屏即可。
[0048] 在步骤308中,在移动到下一项的时候判断是否到达链表尾,是则退出多选流程,并统计用户选择的待复制文件的总数和总大小;如果没有到达链表尾,则回到步骤302。通过步骤301至308,即完成了多项待复制文件的选择。
[0049] 在完成了多项待复制文件的选择并对用户选择的待复制文件的总数和总大小进行了统计后,进入步骤220,根据待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制,随后进入复制过程。
[0050] 具体地说,在本步骤中,在判断是否启动单独线程之前,还需要进行用户选择的目标地址与源地址是否相同,以及待复制文件的总大小是否大于目标地址的剩余空间的判断。
[0051] 具体流程如图4所示,在步骤401中,完成文件多选后,首先让用户选择目标地址。
[0052] 在步骤402中,此时马上判断目的地址和源地址是否相同,相同的话,就给出提示,重新选择。
[0053] 在步骤403中,在开始复制前,获得剩余磁盘空间和文件总大小,由于此时不需要马上用到文件总个数,所以不需要去获取文件总个数,放在之后进行。
[0054] 在步骤404中,判断文件总大小是否大于剩余空间,如果大于剩余空间,执行步骤405,提示用户无法完成所有文件的复制,是否复制部分文件;否则,则初步判断可以满足空间要求。
[0055] 在步骤406中,如果用户选择复制部分文件,执行步骤407,否则返回文件多选模块。
[0056] 在步骤408中,取得文件总大小和总个数后,如果文件非常多或者非常大(如待复制文件的总个数大于预设的总数门限,或待复制文件的总大小大于预设的空间门限),需要执行步骤410,启用单独线程执行复制操作并且给出进度条提示用户。因为使用了单独线程来完成复制过程,所以用户此时可以选择取消。
[0057] 在步骤409中,在复制小文件的时候(如待复制文件的总个数小于或等于预设的总数门限,或待复制文件的总大小小于或等于预设的空间门限),由于启动线程也需要消耗一些资源,所以直接调用接口完成文件复制的过程即可,不需要显示进度条,且也可以及时响应用户其他操作。
[0058] 在步骤409或步骤410之后,进入复制过程。本实施方式中的复制过程如图5所示。
[0059] 在步骤501中,复制链表中的当前文件。
[0060] 在步骤502中,判断是否复制失败,比如遇到空间不足或者存在同名文件等。创建一个复制结果链表,如果复制成功则执行步骤504对此文件置成功标记保存在结果链表中,否则执行步骤503,设置失败标记,并保存失败的原因到结果链表中,后续会根据失败原因让用户操作后再次尝试复制。
[0061] 在步骤505中,取得下一个文件继续后续复制,无需等待用户对复制失败文件的操作,不停止多项复制的过程,继续复制后续其他文件(复制失败的文件将在后续流程中由用户选择是否再次尝试复制)。
[0062] 在步骤506中,判断链表是否结束,即判断是否是文件尾。如是文件尾,则结束复制,否则,回到步骤501。
[0063] 在多项复制的过程结束后(即步骤220之后),进入步骤230,显示复制失败的文件和失败原因,供用户选择是否再次尝试复制。在本步骤中,首先需要进入异常处理过程,并在异常处理过程后进入结果提示过程。
[0064] 具体地说,该异常处理过程如图6所示,在步骤601中,当多项复制完成后,如果有复制失败的文件,则创建一个列表界面,列出所有复制失败的文件和每个文件失败的原因。
[0065] 在步骤602中,选中当前文件让用户选择异常处理方式。比如因为空间不足失败的,选中文件时提示用户删除释放多少大小的空间;或者因为存在同名文件失败的,提示用户改名。
[0066] 在步骤603中,让用户处理异常文件。比如释放空间或者对重名文件重命名。用户处理此异常文件后则执行步骤604;如果用户不处理此异常文件,则直接选择下一条异常记录。
[0067] 在步骤604中,把需要重新复制的异常文件放入待复制列表,等异常处理结束后重新进入多项复制流程。
[0068] 在步骤605中,移动到下一个文件。
[0069] 在步骤606中,判断创建的异常文件列表是否结束,如果结束,则进入结果提示过程;如果异常文件列表尚未结束,则回到步骤602。
[0070] 结果提示过程如图7所示,在步骤701中,完成复制过程后,取得复制过程中成功的文件总个数和失败的总个数
[0071] 在步骤702中,判断是否全部复制成功,如果全部复制成功,则进入步骤703,提示用户全部复制成功;如果没有全部复制成功,则进入步骤704,提示用户有N个文件复制失败。
[0072] 不难发现,在本实施方式中,在创建多选列表的时候,可以极短的时间内完成创建。并且,根据文件大小和个数来决定是否有必要启用单独线程完成复制,在复制的过程中可以及时响应用户的其他操作。另外,在多项复制过程中不需要中断整个复制过程。
[0073] 上述方法中的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0074] 本发明第二实施方式涉及一种终端,本实施方式中的终端可以为手机。具体结构如图8所示,包含:
[0075] 文件多选模块,用于创建多选列表,供用户选择待复制的文件。该文件多选模块在创建多选列表时,每次只加载一屏的列表项,在需要翻屏时,再加载下一屏,以实现列表的快速加载。
[0076] 统计模块,用于统计用户选择的待复制文件的总数和总大小。
[0077] 复制模块,用于对用户选择的多项待复制文件进行复制。其中,复制模块在发生当前文件复制失败时,直接跳过当前文件的复制,进行后续文件的复制。
[0078] 显示模块,用于在该复制模块完成多项文件的复制后,显示复制失败的文件和失败原因,供用户选择是否再次尝试复制。
[0079] 需要说明的是,在本实施方式中,复制模块包含以下子模块:
[0080] 单独线程判断子模块,用于根据该统计模块统计的待复制文件的总个数或总大小,判断是否启动单独线程进行文件的复制。具体地说,单独线程判断子模块在待复制文件的总个数大于预设的总数门限,或待复制文件的总大小大于预设的空间门限时,判定启动单独线程进行文件的复制;在待复制文件的总个数小于或等于预设的总数门限,或待复制文件的总大小小于或等于预设的空间门限时,判定不启动单独线程进行文件的复制,直接进行文件的复制。
[0081] 另外,值得一提的是,本实施方式中还包含剩余空间判断模块和目标地址判断模块。
[0082] 其中,目标地址判断模块用于判断用户选择的目标地址与源地址是否相同,如果相同,则提示用户重新选择目标地址;如果不同,则触发该剩余空间判断模块。
[0083] 剩余空间判断模块用于判断待复制文件的总大小是否大于目标地址的剩余空间,并在判定结果为大于剩余空间时,提示用户无法完成所有文件的复制;在判定结果为小于或等于剩余空间时,指示复制模块进行文件的复制。
[0084] 不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
[0085] 值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
[0086] 上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。