在C#程序中,我正在创建文件。我想使用此命令删除一个文件: -
File.Delete(killFile);
killFile的值为"C:\Documents and Settings\MehdiAnis\My Documents\outfile_0020.csv"
killFile是一个现有文件。
运行删除命令后,文件仍在目录中。删除后,我添加了FileInfo代码以检查文件是否存在,
FileInfo fi = new FileInfo(killFile);
现在,fi.Exists显示错误
我不确定是什么问题,是否是许可问题?我刚刚在自己的文件夹中写了文件,为什么我不能删除它?一旦创建了文件,我就不打开它或用它做任何事情,所以它不应该被锁定。
可能出现什么问题,我应该在哪里看?
答案 0 :(得分:3)
根据您在http://i548.photobucket.com/albums/ii341/MehdiAnis/cprob.jpg
发布的屏幕截图在您的屏幕截图中,资源管理器窗口显示名称为“_0020.csv”的文件。根据调试器窗口,您传入的文件名以“_20.csv”结尾。您正在使用实际不存在的文件名调用File.Delete,因此不会删除任何文件。
您需要使用0填充格式化“killFile”变量。我假设您正在添加一些计数器,如killfile = killFile + i.ToString()
。试试killfile = killFile + i.ToString("0000")
答案 1 :(得分:0)
根据MSDN,“如果要删除的文件不存在,则不会抛出任何异常。”
您可能需要使用File.Exists 检查是否存在要删除的文件尝试删除它。我认为您的问题是您希望删除的文件不是您在文件夹中看到的文件。