【发布时间】:2015-11-13 10:24:17
【问题描述】:
我编写了一个从文件所在位置删除文件的函数。代码如下:
if (File.Exists(strPath + "/FLV/" + flvvideoname))
{
File.Delete(strPath + "/FLV/" + flvvideoname);
}
'strPath' 是目录的路径。执行代码时,文件并不总是被删除。一遍又一遍地运行相同的代码将删除该文件。当我解决这个问题时,断点不会越过文件删除行,我也没有看到任何错误。如果断点超过了文件删除行,则说明文件已被正确删除。
我该如何解决这个问题?
【问题讨论】:
-
您确定没有其他进程访问该文件吗?
-
确保运行 IIS 进程的用户有权修改此目录。
-
Delete does not delete a file that is open for normal I/O or a file that is memory mapped. -
如果满足条件则执行
File.Delete,如果没有抛出异常则说明文件已被删除。 -
使用
System.IO.Path.Combine(strPath, "FLV", flvvideoname)