Я пытаюсь загрузить файл из Интернета и сохранить его локально, но получаю исключение:
C # Процесс не может получить доступ к файлу
«бла», потому что он используется
другой процесс.
Это мой код:
File.Create("data.csv"); // create the file
request = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
request.Timeout = 30000;
response = (HttpWebResponse)request.GetResponse();
using (Stream file = File.OpenWrite("data.csv"), // <-- Exception here
input = response.GetResponseStream())
{
// Save the file using Jon Skeet's CopyStream method
CopyStream(input, file);
}
Я видел множество других вопросов за тем же исключением, но ни один из них, похоже, не подходит здесь. Любая помощь?
Обновление:
Спасибо за ответы! Удаление File.Create(...)
исправлено!
Один комментарий к документации OpenWrite
: это немного вводит в заблуждение, краткое описание гласит:
Открывает существующий файл для записи.
В подробном описании говорится:
Если файл существует , он открывается для
писать в начале. Существующий
файл не урезан.
Обновление 2.0:
Похоже, что существует несоответствие между IntelliSense / F1 и онлайн-документацией. Я думал, что это должно быть то же самое, так как я позволяю F1 подключаться к сети, когда он отображает документацию.