我想在我的代码c#
中删除一个zip文件try
{
System.IO.File.Delete(@"C:/Projets/Prj.zip");
}
catch { }
但我有这个错误The format of the given path is not supported.
出现此异常的原因?我该如何解决这个错误?
答案 0 :(得分:3)
你使用正斜杠而不是后斜杠,导致:
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");
答案 1 :(得分:2)
Windows中的文件路径使用反斜杠,而不是正斜杠:
System.IO.File.Delete(@"C:\Projets\Prj.zip");
答案 2 :(得分:1)
使用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
答案 3 :(得分:0)
尝试
string file = @"C:\Projets\Prj.zip";
if( System.IO.File.Exists(file))
System.IO.File.Delete(file);