请问QT怎么知道 硬盘中文件某一区块中已经有数据 并且有多大

ubosm 2011-10-06 07:11:03
请问QT怎么知道 硬盘中文件某一区块中已经有数据 并且有多大 !
我要做一个多线程下载的程序
比如: 一个很大的文件 我是用5个线程分成5个块来下载的 但是如果我中途中断了下载(或者因为掉线)... 某一个块已经下了一半了
现在我要又要开始下载 我怎么知道 我那一块已经下载了多少 并且把已下载了的位置作为起始位置 后边接着下载 ...
...全文
184 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mcy64 2011-10-07
  • 打赏
  • 举报
回复
受教了很有帮助,正在学QT
Vincent_Song 2011-10-07
  • 打赏
  • 举报
回复
可以像3楼那样,也可以在断线的时候程序自动设置一个标识,然后在下次启动的时候搜索设置的标识,直接从标志处开始放数据,希望可以帮到你!
masterz 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 songjinshi 的回复:]

可以像3楼那样,也可以在断线的时候程序自动设置一个标识,然后在下次启动的时候搜索设置的标识,直接从标志处开始放数据,希望可以帮到你!
[/Quote]
对于二进制文件很难选定标识不和文件内容本身冲突。
淡然一笑 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 songjinshi 的回复:]
可以像3楼那样,也可以在断线的时候程序自动设置一个标识,然后在下次启动的时候搜索设置的标识,直接从标志处开始放数据,希望可以帮到你!
[/Quote]
++ 这个办法好!
ubosm 2011-10-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 masterz 的回复:]
没有办法知道。你可以使用一个辅助的bitmap文件,每一个bit对于文件中的一块,这一块写过了就标记为1,否则为0,等下载完成之后删掉这个辅助文件。
[/Quote]
嗯 好像迅雷就是这么干的 ???
masterz 2011-10-06
  • 打赏
  • 举报
回复
没有办法知道。你可以使用一个辅助的bitmap文件,每一个bit对于文件中的一块,这一块写过了就标记为1,否则为0,等下载完成之后删掉这个辅助文件。
ubosm 2011-10-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lei_yuming 的回复:]
使用QDir和QFileInfo类可以解决你的问题
[/Quote]
请问有没有具体的实现呢
lei_yuming 2011-10-06
  • 打赏
  • 举报
回复
使用QDir和QFileInfo类可以解决你的问题

16,233

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧