Directory.CreateDirectory(@ “C:\测试”);
效果很好。我能够创建文件夹。但是下面的代码不起作用。
using System;
using System.IO;
class iolar
{
public static void klasorOlustur()
{
Console.WriteLine("Oluşturmak istediğiniz BİRİNCİ klasörün adı?");
string a=Console.ReadLine();
Console.WriteLine("oluşturmak istediğiniz İKİNCİ klasörün adı?");
string b=Console.ReadLine();
Console.WriteLine("Klasörler oluşturuluyor.. Lütfen bekleyin...");
string klasorYolu="@\"H:\\"+a+"\"";
string klasorYolu2="\""+b+"\"";
DirectoryInfo klasorcuk=new DirectoryInfo(klasorYolu);
Console.Write(klasorYolu);
if(klasorcuk.Exists==false)
{
klasorcuk.Create();
Console.WriteLine("İlk klasör oluşturuldu...");
DirectoryInfo klasorcuk2=klasorcuk.CreateSubdirectory(klasorYolu2);
Console.WriteLine("İkinci klasör de oluşturuldu...");
}
}
static void Main()
{
klasorOlustur();
}
}
我得到“Unhandled Exception:System.ArgumentException:path中的非法字符。”错误。我找到了一些关于“路径类”的东西,但我无法得到明确的答案。
我该怎么办?
答案 0 :(得分:3)
string klasorYolu="@\"H:\\"+a+"\"";
不要使字符串内容看起来像您在C#程序中编写的内容。这看起来应该更像:
string klasorYolu = @"H:\" + a;
一定要使用Path.Combine()方法,它会将反斜杠放在正确的位置。
答案 1 :(得分:1)
尝试
string klasorYolu = "H:\\" + a;
string klasorYolu2 = b;
当您已经在字符串文字中时,无需添加@
和"
。