org - visual studio c#教程




如何在检查文件是否存在后删除文件 (6)

使用File类非常简单。

if(File.Exists(@"C:\test.txt"))
{
    File.Delete(@"C:\test.txt");
}

正如Chris在评论中指出的那样,你实际上不需要执行File.Exists检查,因为如果文件不存在, File.Delete不会引发异常,但是如果你使用绝对路径,你需要检查以确保整个文件路径是有效的。

我如何删除C#中的文件,例如C:\test.txt ,尽管像在批处理文件中应用相同类型的方法,例如

if exist "C:\test.txt"

delete "C:\test.txt"

else 

return nothing (ignore)

使用System.IO.File.Delete就像这样:

System.IO.File.Delete(@"C:\test.txt")

从文档:

如果要删除的文件不存在,则不会引发异常。


如果您使用FileStream从该文件读取然后想要将其删除,请确保在调用File.Delete(路径)之前关闭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");

您可以使用以下命令导入System.IO名称空间:

using System.IO;

如果文件路径代表文件的完整路径,则可以检查其存在并将其删除,如下所示:

if(File.Exists(filepath))
{
     File.Delete(filepath);
}  

  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;
        }
    }

if (System.IO.File.Exists(@"C:\test.txt"))
    System.IO.File.Delete(@"C:\test.txt"));

System.IO.File.Delete(@"C:\test.txt");

只要该文件夹存在就会执行相同操作。





windows