如何在C#中删除文件,例如C:\test.txt
,尽管应用与批处理文件中相同的方法,例如
if exist "C:\test.txt"
delete "C:\test.txt"
else
return nothing (ignore)
Run Code Online (Sandbox Code Playgroud)
Ada*_*ear 368
使用File类非常简单.
if(File.Exists(@"C:\test.txt"))
{
File.Delete(@"C:\test.txt");
}
Run Code Online (Sandbox Code Playgroud)
File.Exists
检查,因为File.Delete
如果文件不存在则不会抛出异常,尽管如果你使用的是绝对路径,你需要检查以确保整个文件路径有效.
Chr*_*rle 95
像这样使用System.IO.File.Delete:
System.IO.File.Delete(@"C:\test.txt")
从文档:
如果要删除的文件不存在,则不会引发异常.
Ver*_*cas 32
if (System.IO.File.Exists(@"C:\test.txt"))
System.IO.File.Delete(@"C:\test.txt"));
Run Code Online (Sandbox Code Playgroud)
但
System.IO.File.Delete(@"C:\test.txt");
Run Code Online (Sandbox Code Playgroud)
只要该文件夹存在,它将执行相同的操作.
Ash*_*hin 31
您可以System.IO
使用以下命
using System.IO;
Run Code Online (Sandbox Code Playgroud)
如果文件路径表示文件的完整路径,则可以检查其存在并将其删除,如下所示:
if(File.Exists(filepath))
{
try
{
File.Delete(filepath);
}
catch(Exception ex)
{
//Do something
}
}
Run Code Online (Sandbox Code Playgroud)
Der*_*k W 21
如果要避免使用DirectoryNotFoundException
,则需要确保文件的目录确实存在.File.Exists
完成这个.另一种方法是使用Path
和Directory
实用程序类,如下所示:
string file = @"C:\subfolder\test.txt";
if (Directory.Exists(Path.GetDirectoryName(file)))
{
File.Delete(file);
}
Run Code Online (Sandbox Code Playgroud)
Ahm*_*zey 15
if (System.IO.File.Exists(@"C:\Users\Public\DeleteTest\test.txt"))
{
// Use a try block to catch IOExceptions, to
// handle the case of the file already being
// opened by another process.
try
{
System.IO.File.Delete(@"C:\Users\Public\DeleteTest\test.txt");
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
return;
}
}
Run Code Online (Sandbox Code Playgroud)