Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lab17 程序设计B班 2008-01-03.

Similar presentations


Presentation on theme: "Lab17 程序设计B班 2008-01-03."— Presentation transcript:

1 Lab17 程序设计B班

2 DiskBackup 磁盘备份 设计一个applet/application, 实现任意磁盘的所有文件向另一个磁盘的拷贝(备份)
如何获取磁盘的所有逻辑盘符? 逻辑盘也是目录,使用File对象的isDirectory()方法,例如测试盘E是否存在可用(new File(“E:”)).isDirectory()==true? 文件拷贝 用FileInputStream, FileOutputStream从指定文件获取I/O流 套用BufferedInputStream, BufferedOutputStream提高效率 文件I/O结束后,记得调用close()关闭流

3 DiskBackup 磁盘备份 其他问题 获取当前目录currentDirectory下所有文件:
(new File(currentDirectory)).listFiles(); 使用递归方法解决嵌套目录的备份问题: 备份方法DiskBackup(currentDirectory) 对当前目录下的文件(非目录)进行备份 对当前目录下的子目录subDirectory调用DiskBackup(subDirectory)

4 界面要求 2个下拉列表ComboBox 为实现任意盘间的拷贝, 在applet初始化时获取硬盘当前的所有逻辑盘符添加到2个列表中.

5 界面要求 Button Start Backup: 开始备份 Create Log File: 输出日志文件

6 生成备份日志 日志文件 将完成的所有备份情况保存在一个文件log.txt中

7 选做部分 TextArea(有剩余时间选做) 将完成的备份情况显示在文本域中(日志文件的前台显示),例如:“X:/***/***/ 已备份”
如何同步显示备份情况?将备份方法的调用包含在线程里(不要求)

8 进阶(课后思考) 二次备份时如何实现原备份基础上的动态备份? 判断为新的文件或修改过的文件:备份 判断文件自上次备份后未修改过:跳过
判断上次备份文件包含有过期(不存在)文件:删除


Download ppt "Lab17 程序设计B班 2008-01-03."

Similar presentations


Ads by Google