课程名称:C/C++气象数据中心实战,手把手教你做工业级项目
课程章节:3-7FTP 下载增量的文件
主讲老师: 吴从周
课程内容:
从服务器下载新增的文件
从服务器下载修改过的文件
从服务器下载新增的或者修改过的文件
课程收获:
在文件下载的需求中,一般分为三类,第一种 是只需要下载服务器中指定目录的文件,然后删除服务器中指定目录的文件。第二种下载服务器中指定目录的文件之后,将服务器中指定目录的文件移动至指定备份目录进行备份。第三种是下载服务器中指定目录中增加的文件,或者新修改的文件。一般常用需求的是第三种。
我们通过4个容器进行下载增量的文件,首先,我们将已经下载的文件目录文件加载到容器1中,当然在第一次执行该程序时,这个已经下载的文件目录文件 ——okfilename文件应该是没有数据的,这个时候我们在写这个函数代码时需要注意,不能一味返回失败时就退出。然后我们的容器二中已经存放了服务器中指定目录的文件名列表,我们将容器1和容器2进行对比,遍历容器2,找到在容器1中不存在的容器2中的文件,就是我们需要下载的增量文件,我们把它放入容器4中,作为等待下载的文件。再将容器1中存在的容器2中的文件,就是我们不需要下载的服务器文件,我们把它放入容器3中,作为已经下载的文件。 最后,我们将容器3中的内容写入okfilename文件, 覆盖之前的旧okfilename文件,再使用函数每当我们成功下载一个文件时,我们将其增加到okfilename文件中,这样也实现了okfilename文件的更新。从而完整得实现了这个4个容器进行下载增量的文件的功能。
注意,我们之前后续代码中的需下载容器是用的容器2名字,所以我们最后将容器4的内容加载到容器2中,便于后续代码的执行