我需要帮助。通常如果我使用OpenFileDialog,我通常会在FileName属性上给出类似的东西:
string path = "C:\\Users\\Users\\SkyDrive\\Study Stuffs\\C and C++ development\\Comp Sci 322 - C Sharp\\Projects\\Main_UI_Older\\Test Case\\a test.xml";
如果我用它来创建一个新的FileStream,这将直接工作。即:
FileStream my_fileStream = new FileStream(path, FileMode.Open, FileAccess.Read); // Works just fine.
但是这将拒绝使用WebClient.DownloadFile方法。
WebClient my_downloader = new WebClient();
my_downloader.DownloadFile("[URL HERE]", path); //Will not work. WebException
my_downloader.DownloadFile("[URL HERE]", @path); //Works.
我被迫使用" @"在路径前面,以使其工作。在网上搜索一点点让我抓住了#34; Verbatim String Literal"。我用Google搜索了一下,但它仍然让我挠头。我做了这个例子:
string test_1 = "C:\\Test";
Console.WriteLine(@test_1); //Print C:\Test
Console.WriteLine(test_1); //Print C:\Test
有人可以解释一下吗?谢谢!
答案 0 :(得分:0)
WebClient.DownloadFile(Uri address, string fileName)
实际上只是在内部调用以下内容
fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
所有推理与
的例子相同FileStream my_fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
似乎异常根本与fileName无关,而且必须是其他的