Я пытаюсь загрузить файл в каталог на компьютере пользователя. Я сначала удалить все файлы, мне не нужно, то я получаю файлы для загрузки из файла в Интернете, который выглядит следующим образом:Загрузить файл во время цикла C#
FOLDERNAME | FileName | DownloadLink
Однако это только загрузив первый файл, а цикл работает вечно.
class ModpackFileControl
{
static string modpackDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "ImperialPVP");
static string userDir = Properties.Settings.Default.userDir;
public static void InstallUpdates()
{
//Delete Files
ArrayList infoFiles = new ArrayList();
infoFiles.Add("currentMods.txt");
infoFiles.Add("previousMods.txt");
infoFiles.Add("currentVersion.txt");
infoFiles.Add("latestVersion.txt");
infoFiles.Add("previousVersion.txt");
infoFiles.Add("updateInfo.txt");
DirectoryInfo di = new DirectoryInfo(directory);
foreach (FileInfo file in di.GetFiles())
{
if (!infoFiles.Contains(Convert.ToString(file)))
{
file.Delete();
}
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
dir.Delete(true);
}
//Download Files
string modpackFilesText = Path.Combine(modpackDir, "modpackFiles.txt");
WebClient webClient = new WebClient();
webClient.DownloadFile("https://dl.dropbox.com/s/lqqvg2fdw9qb989/modpackFiles.txt?dl=0", modpackFilesText);
StreamReader modpackFiles = File.OpenText(modpackFilesText);
string line = modpackFiles.ReadLine();
while (line != null)
{
string[] files = line.Split('|');
string folder = files[0];
string file = files[1];
if (!Directory.Exists(Path.Combine(modpackDir, folder)))
{
Directory.CreateDirectory(Path.Combine(modpackDir, folder));
}
string downloadPath = Path.Combine(modpackDir, folder, file);
string link = files[2];
webClient.DownloadFile(link, downloadPath);
}
return;
}
}
Почему на земле вы удаление файлов? Что делать, если вы удаляете собственные файлы пользователя? – Annabelle
Он не будет удалять собственные файлы пользователя, потому что файлы, которые я удаляю, находятся в определенном каталоге. пример C:/username/appdata/roaming/имя_программы/файлы для удаления –
Мне нужно удалить все текущие файлы в этом каталоге, потому что они могут конфликтовать с будущими файлами, которые я загружаю. –