我有一个配置文件,其中包含我要下载的URI列表。例如,
http://xyz.abc.com/Dir1/Dir3/sds.txt
http://xyz.abc.com/Dir2/Dir4/jhjs.txt
http://xyz.abc.com/Dir1/itr.txt
我想读取配置文件并复制每个URL,但同时创建与主机上相同的目录结构。例如,对于配置文件中的第一行,我想在本地计算机上创建目录结构Dir1 / Dir3(如果它不存在),然后将sds.exe复制到... / Dir1 / Dir3 / < / p>
我如何在C#中执行此操作?
我到现在所拥有的是:
string myStringWebResource; //Read this from the config file
System.IO.StreamReader file =
new System.IO.StreamReader("config.txt");
// Read the config file line by line
while ((myStringWebResource = file.ReadLine()) != null)
{
// Create a new WebClient instance.
using (WebClient myWebClient = new WebClient())
{
//How do I keep the original filename, e.g. sds.txt
string outputFilename = @"" + ???";
Console.WriteLine("Downloading ...");
// Download the Web resource and save it into
// the current filesystem folder.
try
{
myWebClient.DownloadFile(myStringWebResource, outputFilename);
Console.WriteLine("Successful");
}
catch (WebException e)
{
Console.WriteLine("Fail" + e.Message);
}
}
}
虽然这可以让我下载配置文件中的所有文件,
答案 0 :(得分:0)
我建议我们过滤主机。然后拆分/上的每个剩余字符串。然后构建一个方法,该方法将string []作为参数来创建目录结构。使用原始路径(没有主机),使用文件名(数组中的最后一项)在该目录中移动文件。
如果主机是可变的,请删除第三个/.
之前的所有内容