在Windows中,复制在实际操作时需要两个步骤:首先把源数据复制到剪贴板中存放,然后从剪贴板中把数据粘贴到目标处。但实际情况真的如此吗?让我们来探个究竟。
第一步:用理论说话
我们设想一下,如果Windows在复制时,是真的不分情况直接就把源数据复制到剪贴板中存放,那我现在的内存只有256MB,但为什么可以复制大于256MB的文件呢?用了虚拟内存?那么,我的虚拟内存的最大值是764MB,为什么还可以复制一个超过1GB的文件呢?
惟一的解释就是:剪贴中存放的内容不是我们所想像的那样简单。
第二步:用事实说话
现在我复制一个只有4KB的文本文件,按照我们以前的想法,它应该会直接被复制到剪贴板中,那为什么我将这个源文件删除以后,粘贴操作将不能完成,而且有错误提示(见图1),这就更进一步说明了,复制、粘贴不是我们想像中的那般简单。
第三步:用“慧眼”将事实看穿
先从网上下载IISCN CopiXP(http://www.onlinedown.net/soft/5637.htm)。Windows 2000/XP的用户如果不能上网下载,可以用系统自带的剪贴板查看器。依次点击“开始→运行”,在弹出的对话框中输入“clipbrd”,即可打开剪贴板查看器。如果不能运行,可以先运行clipsrv启用这项服务,然后再运行clipbrd。
在弄清事实真相前,首先给我们平时所做的复制操作来个分门别类,然后分别实践,看看Windwos的剪贴板中存放的究竟是什么。复制一般分以下几种:
1.在做纯文本文档操作时复制的纯文本;
2.在做一些诸如课件之类的文档操作时复制的图片;
3.日常所做的复制文件操作。
第一步:复制文本:我选中的就是这篇稿件中的一部分内容,不论是在系统自带的剪贴板查看器还是CopiXP中都可以看到(见图2),剪贴板中存放的是文件本身,并且将源数据删除后,粘贴操作仍有效。
第二步:复制图片:先打开字处理软件Word,插入一幅图片(这里插入的是一幅大小为126KB的图片),这时剪贴板查看器中和CopiXP中仍可以看到剪贴板中存放的是图片本身,且在CopiXP中还可以查看到所占用的内存大小(见图3),删除源数据以后,粘贴操作仍可完成。
第三步:复制文件:复制一个约900多MB的文件夹,这时从剪贴板查看器中看到的已不再是那个文件夹本身了,只是一个文件路径而已。并且从CopiXP中可以得知,此次操作所占用的内存并不大,只有281KB而已(见图4),这时将源数据删除,粘贴操作不可完成。
第四步:终于得出结论。Windows在复制文件时,剪贴板中存放的只是文件信息而已,并非整个文件本身;只有在复制非文件,诸如文本、图片等时,剪贴板中存放的才是源数据本身。
现在,你应该知道剪贴板中存放的究竟是什么了吧!只要不是一次复制太多图片,复制操作都不会成为隐形资源杀手。做了一个试验,复制了一个大小为9.59GB的文件夹,内存占用才只有162MB。其实我们多想一点就应该不会犯文章中的那种错误了,你想,复制了一个大小为9.59GB的文件夹时,系统没有任何异样反应,一秒钟不要就能从硬盘中复制到剪贴板中,如果真的在复制数据就太快了!相反,在复制一个较大图片时(约有400KB),系统有明显停顿,这才是真正的将源数据复制到剪贴板中的反映。