删除c#应用程序中的压缩文件

本文关键字:压缩 文件 应用程序 删除 | 更新日期: 2023-09-27 18:16:54

我想删除一个zip文件在我的代码c#

try
 {
   System.IO.File.Delete(@"‪C:/Projets/Prj.zip");
  }
  catch { }

但是我有这个错误The format of the given path is not supported.

为什么出现这个异常?我如何修复这个错误?

删除c#应用程序中的压缩文件

您使用了正斜杠而不是反斜杠,导致:

try
{
    System.IO.File.Delete(@"‪C:'Projets'Prj.zip");
}
catch { }

似乎有一些奇怪的字符滑进了某个地方,使它无效。如果我复制/粘贴上面的行,它会给我同样的异常。然而,如果我删除字符串并手动输入它,它将给我一个FileNotFound(显然)。

尝试粘贴这一行:

System.IO.File.Delete(@"C:'Projets'Prj.zip");

进一步调查,罪魁祸首似乎是介于"C之间的一个看不见的字符。具体来说,"从左到右嵌入"的unicode字符是存在的。如果我将字符串转换为unicode,您可以清楚地看到它:

System.IO.File.Delete(@"‪C:'Projets'Prj.zip");

Windows中的文件路径使用反斜杠,而不是正斜杠:

System.IO.File.Delete(@"C:'Projets'Prj.zip");

使用Path库,访问独立于平台的路径操作。示例如下:

var root = "C:" + Path.DirectorySeparatorChar;
var path = Path.Combine( root, "Projects", "Prj.zip" );
File.Delete(path); //will try to delete C:'Projects'Prj.zip

Try

 string file = @"‪C:'Projets'Prj.zip";
  if( System.IO.File.Exists(file))
    System.IO.File.Delete(file);