为任务生成 id
一个下载任务怎么来确定其唯一性?
- 类似数据库的主键自增长?
- uuid的唯一性?
唯一确实可以保证,但是我不知道这个唯一,
因为我手里只有这两个信息:
- 下载的url
- 下载到本地的路径
ok,这样来确定主键吧:下载的url+下载到本地的路径
,
有了这个信息,我可以获取到当前的任务,想怎么管理这个任务就怎么管理~
但是这些信息太长,并且其中的字符可能包括了一些非法字符。
那我们转换一下思路:
可以把信息下载的url+下载到本地的路径
用md5来生成一个唯一性信息
FileDownloadUtils.md5(formatString("%sp%s@dir", url, path)).hashCode();