C#下载程序(数组)
本文关键字:数组 程序 下载 | 更新日期: 2023-09-27 17:59:52
我的代码有问题。我想下载一些文件(我目前正在做补丁),但文件太多了,我不想为所有文件创建字符串。
我想将链接存储在一个数组中。但是调试器说WebClient
中有一个异常。这是我的代码(fájlNév
表示fileName
,fájlNévAlap
表示baseFileName
):更新代码:
<!-- language: lang-c# -->
WebClient myWebClient = new WebClient();
string[] remoteUrl = new string[2] { "https://www.dropbox.com/s/62tt9w194xefk7t/", " https://www.dropbox.com/s/spni307vmk4zng9/" };
string[] fájlNév = new string[2] { "alut.dll", "DevIL.dll" };
string fájlNévAlap = "BlackBox.dll", WebResource = null;
for(int i = 0; i < remoteUrl.Length; i++) {
for(int x = 0; x < fájlNév.Length; x++) {
WebResource = remoteUrl[i] + fájlNév[x];
MessageBox.Show(WebResource);
myWebClient.DownloadFile(WebResource,fájlNév[x]);
}
}
我能做什么?怎么了?
许多评论,但没有一个提到这一点,
查看MSDN
public void DownloadFile(
string address,
string fileName
)
DownloadFile
需要文件名,而不是文件夹。
尝试更改为:
myWebClient.DownloadFile(WebResource,"C://" + fájlNév[x])
此外,直接写入根文件夹可能会导致安全异常,写入特定文件夹可能是一种很好的做法。
此外,Xantham指出,循环将导致数组越界异常。
Ofiris给出的主要答案是文件名是必要的,但还有一个更普通的问题,我认为应该引起注意。
对for循环的初始调用:
for(int i = 0; i <= remoteUrl.Length; i++)
和
for(int x = 0; x <= fájlNév.Length; x++)
当它试图在只有2个对象(0和1)的数组中查看remoteUrl[2]时,它们也会导致数组越界异常。