unity使用多线程下载时,删除正在下载的文件时候报如下错误

it2023-08-21  90


错误原因:

下面代码  ,正在操作下载文件流

fs = File.OpenWrite(filePath);

而此时,你又想使用下面代码,删除正在下载的文件

File.Delete(vd.localSavedPath);

这样就出现文章开始时的截图错误


我个人尝试的解决思路是:

1 删除前,确保下载文件暂停,并且关掉所有流

2 关流这个动作估计是异步,关流代码执行完后立即删文件还是会报截图错误,估计是这个时候,流还没有关闭

此时可以考虑,把删除文件操作放到携程中,携程开始时,等1秒,给流关闭一个时间


 

FR:徐海涛(hunk Xu) QQ技术交流群:386476712

最新回复(0)