1.go语言学习笔记相关源代码
2.实现断点续传seek 首先思考几个问题 Q1:如果你要传的文件,比较大,那么是否有方法可以缩短耗时? Q2:如果在文件传递过程中,程序因各种原因被迫中断了,那么下次再重启时,文件是否还需要重头开始? Q3:传递文件的时候,支持暂停和恢复么?即使这两个操作分布在程序进程被杀前后。
通过断点续传可以实现,不同的语言有不同的实现方式。我们看看Go语言中,通过Seek()方法如何实现:
先说一下思路:想实现断点续传,主要就是记住上一次已经传递了多少数据,那我们可以创建一个临时文件,记录已经传递的数据量,当恢复传递的时候,先从临时文件中读取上次已经传递的数据量,然后通过Seek()方法,设置到该读和该写的位置,再继续传递数据。