Думал написать вот так:
var task1 = Task.Factory.StartNew(() =>
{
File.Copy(Path,NewName1, true);
});
var task2 = Task.Factory.StartNew(() =>
{
File.Copy(Path,NewName2, true);
});
Но бьет исключение, что файл занят другим процессом: An exception of type 'System.IO.IOException' occurred in mscorlib.dll but was not handled in user code Additional information: Процесс не может получить доступ к файлу "D:\output\log4.txt", так как этот файл используется другим процессом. Есть ли возможность или какие-то варианты одновременно скопировать файл по разным путям? Или есть какие-то варианты ускорить сей процесс? Спасибо.
Реализация через FileStream
(в зависимости от типичного для задачи объема файла имеет смысл поэкспериментировать с размером буфера):
public void ParallelCopy(string src, params string[] dsts)
{
Parallel.ForEach(dsts, new ParallelOptions(),
dstOne =>
{
using (FileStream source = new FileStream(src, FileMode.Open, FileAccess.Read, FileShare.Read))
using (FileStream destination = new FileStream(dstOne, FileMode.Create))
{
var buffer = new byte[4096];
int read;
while ((read = source.Read(buffer, 0, buffer.Length)) > 0)
{
destination.Write(buffer, 0, read);
}
}
});
}
Использование:
ParallelCopy(@"x:\source.file", @"c:\destination1.file", @"d:\destination2.file");
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имею в своём приложении стиль для TabItem, решил использовать VisualStateManager вместо обычных триггеровКогда определил состояния Normal и MouseOver всё работало...
Доброго времени суток! Возникла необходимость парсить почту на Gmail`еПодскажите пожалуйста средства для подобной реализации
При выполнении кода (вызываю скрытое окно Word в котором пересохраняю файлы в другом формате) в момент открытия Word'ом очередного файла, у текущего...
Всем приветВозникли проблемы (если быть точнее, то совсем не понимаю) с загрузкой и редактированием изображения