在病毒肆虐以及BT下载流行的年代,按时备份是一个好习惯。一般而言,只有满足下列这些蛮横需求的软件,才称得上是一个得心应手的好工具:
★需要备份的文件可能分布在硬盘的各个角落;
★文件名可能比较复杂,不是用DOS的通配符就能够描述清楚的 ;
★按照文件的时间、大小、类型(文件或者目录)、最后修改时间等进行筛选;
★能够把这些文件压缩,并添加适当的注释帮助辨认 ;
★能够添加校验值以确保复制和网络传输时不出错;
★保持备份时的目录结构以便恢复;
★最好能够同时在多个平台运行;
这样的软件存在吗?没错,这就是我们这回咖啡馆的主题,我们将综合运用所学的知识,编写一个这样的实用软件?ExpZip。
首先介绍一下软件的使用方法。由于Java咖啡馆开馆以来才短短几期,还未介绍到GUI(图形用户界面)的设计,所以它仍然是一个命令行工具。举个实际例子,对于Java爱好者而言,自己编写的程序再重要不过了,这是N个小时的心血啊,自然应该经常备份,世界上没有后悔药卖的。打开“命令提示符”窗口,进入项目所在文件夹,输入:
java ExpZip "C:\Documents and Settings\Gary Chan\workspace" "[a-zA-Z_$][\w$]*\.java"
其中java是Java解释器,ExpZip就是我们将要编写的Java类编译以后的class文件。第一个参数代表目标文件夹,第二个参数代表目标文件文件名的表达式,具体含义请看后文详述。回车以后,Eclipse工作区文件夹中包括所有子文件夹中的所有Java源程序都已经备份到Backup.zip中了。可以用WinRAR打开这个ZIP包。
可以看到,这个压缩包保留了文件的路径信息,并且还有注释,记载着当时的压缩信息。而且,这是一个Java程序,理论上拿到MacOS上运行都是没有问题的。
总之,这是一个非常强大的软件,而且,我们已经有足够的知识来编写这个软件了。不再赘述,先新建一个项目。
……