Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#中动态删除文件?_C#_.net - Fatal编程技术网

如何在c#中动态删除文件?

如何在c#中动态删除文件?,c#,.net,C#,.net,使用c#动态删除文件时,无法删除该文件,因为正在使用该文件 通过另一个进程,但我没有其他进程一直在使用此文件 foreach (string file in filess) { // FileInfo fi2 = new FileInfo(file); // fi2.Delete(); File.Delete(file); // ii = 0; } 一般来说,如果说它被另一个过程使用,那么你应该认为这是真的。要确保您可以使用此工具进行验证: 它会告诉你锁

使用c#动态删除文件时,无法删除该文件,因为正在使用该文件 通过另一个进程,但我没有其他进程一直在使用此文件

foreach (string file in filess)
  {
   // FileInfo fi2 = new FileInfo(file);
  //  fi2.Delete();
      File.Delete(file);
  //  ii = 0;
   }

一般来说,如果说它被另一个过程使用,那么你应该认为这是真的。要确保您可以使用此工具进行验证:

它会告诉你锁定文件的进程。

一般来说,如果它被另一个进程使用,那么你应该认为这是真的。要确保您可以使用此工具进行验证:

它将告诉您锁定文件的进程。

您应该始终确保关闭打开文件的流:

using (FileStream stream = File.Create("C:\\1.txt"))
{
   // your code goes here

}// the object will be closed here

因为如果您不使用块来放置这个
,即使您使用
stream.Close()手动关闭它,也会导致很多错误

您应该始终确保关闭打开的流:

using (FileStream stream = File.Create("C:\\1.txt"))
{
   // your code goes here

}// the object will be closed here

因为如果您不使用
块来放置这个
,即使您使用
stream.Close()手动关闭它,也会导致很多错误

如果文件正在使用中,您无法删除它,请在try-catch子句中执行删除操作。我将确定使用该文件的进程是您自己的应用程序还是其他进程。您可以使用进行删除。

如果文件正在使用中,您无法删除它,请在try-catch子句中进行删除。我将确定使用该文件的进程是您自己的应用程序还是其他进程。您可以使用进行删除。

这就是您可以简单删除的方式

        // File.Copy(@"‪C:\Users\Asus\Desktop\New.txt", @"D:\New.txt");

        string rootFolder = @"D:\";


        string authorsFile = "Gym.mdf";
        File.Delete(Path.Combine(rootFolder, authorsFile));


        string authorsFile2 = "Gym_log.ldf";
        File.Delete(Path.Combine(rootFolder, authorsFile2));

这就是您可以简单删除的方式

        // File.Copy(@"‪C:\Users\Asus\Desktop\New.txt", @"D:\New.txt");

        string rootFolder = @"D:\";


        string authorsFile = "Gym.mdf";
        File.Delete(Path.Combine(rootFolder, authorsFile));


        string authorsFile2 = "Gym_log.ldf";
        File.Delete(Path.Combine(rootFolder, authorsFile2));


也许它是由您自己的流程使用的?例如,您在其上使用了一个
FileStream
,但忘记了对其进行处理。您是否关闭了fi2对象?是否在编辑器中打开了它?我不明白,但我猜您忘记了关闭文件。谢谢@Chaos我已处理了FileStream。我仍然面临此问题。可能是您自己的进程使用了它?例如,你在上面使用了一个
FileStream
,但忘记了处理它。你关闭了fi2对象吗?你在编辑器中打开了它吗?我不明白,但我猜你忘了关闭文件。谢谢@Chaos我已经处理了FileStream。我仍然面临这个问题。谢谢你…使用该文件的过程在我自己的应用程序中。然后请提供更多的代码或分析您的代码,查看您以前在何处访问该文件,并检查您在使用该文件后是否正确关闭了该文件。我已处理并关闭了在何处打开必须访问的文件,但我仍无法解析该文件..w您可以提供您以前在何处打开和关闭该文件的代码吗尝试删除它?谢谢…使用该文件的过程在我自己的应用程序中。然后请提供更多代码或分析您的代码,查看您在任何较早的时间点访问该文件的位置,并检查您在使用该文件后是否正确关闭该文件。我已在打开必须访问的文件的任何位置处置并关闭了该文件。我仍然需要访问该文件无法解决此问题..在尝试删除此文件之前,能否提供打开和关闭此文件的代码?