如何在c#中删除一个文件,例如C:\test.txt,尽管应用类似于批处理文件中的相同方法。
if exist "C:\test.txt"
delete "C:\test.txt"
else
return nothing (ignore)
如何在c#中删除一个文件,例如C:\test.txt,尽管应用类似于批处理文件中的相同方法。
if exist "C:\test.txt"
delete "C:\test.txt"
else
return nothing (ignore)
当前回答
有时你想删除一个文件,无论情况如何(无论异常发生,请删除该文件)。针对这种情况。
public static void DeleteFile(string path)
{
if (!File.Exists(path))
{
return;
}
bool isDeleted = false;
while (!isDeleted)
{
try
{
File.Delete(path);
isDeleted = true;
}
catch (Exception e)
{
}
Thread.Sleep(50);
}
}
注意:如果指定的文件不存在,则不会抛出异常。
其他回答
if (File.Exists(path))
{
File.Delete(path);
}
如果您正在使用FileStream读取该文件,然后想要删除它,请确保在调用file . delete (path)之前关闭FileStream。我有这个问题。
var filestream = new System.IO.FileStream(@"C:\Test\PutInv.txt", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);
filestream.Close();
File.Delete(@"C:\Test\PutInv.txt");
您可以导入系统。IO命名空间使用:
using System.IO;
如果filepath是文件的全路径,可以检查是否存在并删除。
if(File.Exists(filepath))
{
try
{
File.Delete(filepath);
}
catch(Exception ex)
{
//Do something
}
}
有时你想删除一个文件,无论情况如何(无论异常发生,请删除该文件)。针对这种情况。
public static void DeleteFile(string path)
{
if (!File.Exists(path))
{
return;
}
bool isDeleted = false;
while (!isDeleted)
{
try
{
File.Delete(path);
isDeleted = true;
}
catch (Exception e)
{
}
Thread.Sleep(50);
}
}
注意:如果指定的文件不存在,则不会抛出异常。
这是最简单的方法,
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
System.Threading.Thread.Sleep(20);
}
线程。睡眠将有助于完美的工作,否则,它将影响下一步如果我们做拷贝或写入文件。
另一种方法是,
if (System.IO.File.Exists(filePath))
{
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
System.IO.File.Delete(filePath);
}