2013-07-02 103 views
1

我使用string[] dirs = Directory.GetDirectories("instances", "*")获取所有目录。GetDirectories返回路径\目录

但它返回作为跟随目录:

instances\\test01, instances\\test02

然后我用下面的函数将文件下载到该目录:

FileDownloader downloader = new FileDownloader(dirs[0] + "/server/server.jar", "blabla"); 

但该文件出现在根目录代替。
有什么建议吗?

+3

使用[路径组合(HTTP:// MSDN .microsoft.com/en-us/library/system.io.path.combine.aspx) – Sayse

+0

@Sayse击败了我。 'Path.Combine()'绝对是最好的解决方案,因为它也是平台无关的。 – Nolonar

+0

@Nolonar - 它嵌入了我的脑海,我花了20个工作小时重构其他人的代码。 – Sayse

回答

4

而不是dirs[0] + "/server/server.jar"

使用

Path.Combine(dirs[0], "/server/server.jar")

我想像该字符串追加可以治疗\t为制表

+0

我用webclient下载jar文件,但这个webclient不处理路径中的双斜杠。然后jar继续下载到根目录 – kevingoos

+0

双斜杠只会在视觉工作室窗口中 – Sayse

+0

经过3天的搜索后,我发现我的错误:P谢谢@Sayse您通过提及视觉工作室中的双斜杠来帮助我很多。我不知道:P 但我的错误是非常愚蠢的:我是我下载文件的类,我有一个硬编码路径。 'client.DownloadFileAsync(url,“server.jar”);''而不是'client.DownloadFileAsync(url,dir);' 谢谢大家的帮助:) – kevingoos