string slink = "\\README.TXT";
string ipath = "C:\\Users\\Crystal\\Documents\\Visual Studio 2010\\Projects\\workspace\\workspace\\bin\\Debug";
string test = lpath+"\\workspace\\"+slink;
string test1 = "C:\\Users\\Crystal\\Documents\\Visual Studio 2010\\Projects\\workspace\\workspace\\bin\\Debug\\workspace\\README.TXT";
string ftpfullpath = myUri.ToString();
WebClient request = new WebClient();
FileStream file = File.Create(@test);
如果我写FileStream file = File.Create(@test);
我会收到错误的非法字符。
如果我写FileStream file = File.Create(@test1);
它有效!
我认为粘贴多个字符串路径值有问题。我也试过了Path.Combine
但也行不通了
答案 0 :(得分:2)
在你的第三行代码中,你使用了lpath而不是ipath - 我假设这是一个错字
使用此:
string resultPath= Path.Combine(p1, p2);
答案 1 :(得分:0)
认为lpath
是ipath
的拼写错误,后者在README.TXT
之前添加了一个额外的斜杠(或一组斜杠,具体取决于上下文)。
也就是说,
\\workspace\\README.TXT
变,
\\workspace\\\\README.TXT
答案 2 :(得分:0)
您正在撰写"..\\" + "\\..."
。
路径不能连续两个\
。
答案 3 :(得分:0)
问题在于你的滑动或测试。您拥有的代码最终具有以下路径:
C:\Users\Crystal\Documents\Visual Studio 2010\Projects\workspace\workspace\bin\Debug\workspace\\README.TXT
注意README.TXT之前的双斜杠?
这是因为slink成为:
\README.TXT
然后你试图把它与:
结合起来C:\Users\Crystal\Documents\Visual Studio 2010\Projects\workspace\workspace\bin\Debug\workspace\
您可以执行以下两项操作之一来解决问题:
我建议选项1 - 它清楚地将文件名与文件路径分开。在文件前面有\\表示文件名也有其路径信息