distributed-computing/tasks/melnikov-ky/lab_2/worker-1/Program.cs

49 lines
1.7 KiB
C#
Raw Permalink Normal View History

2023-10-24 21:30:03 +04:00
using System;
using System.IO;
class Program
{
static void Main()
{
string sourceDirectoryPath = "/var/data";
string destinationFilePath = "/var/result/data.txt";
try
{
DirectoryInfo sourceDirectory = new DirectoryInfo(sourceDirectoryPath);
FileInfo[] files = sourceDirectory.GetFiles();
if (files.Length == 0)
{
Console.WriteLine("Каталог {0} не содержит файлов.", sourceDirectoryPath);
return;
}
// Выбираем случайный файл из каталога
Random random = new Random();
FileInfo randomFile = files[random.Next(files.Length)];
// Перекладываем содержимое файла в указанный путь
File.Copy(randomFile.FullName, destinationFilePath, true);
Console.WriteLine("Файл {0} успешно скопирован в {1}.", randomFile.FullName, destinationFilePath);
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Каталог {0} не найден.", sourceDirectoryPath);
}
catch (IOException e)
{
Console.WriteLine("Произошла ошибка при копировании файла: {0}", e.Message);
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine("Отсутствует доступ к файлу: {0}", e.Message);
}
catch (ArgumentException)
{
Console.WriteLine("Путь {0} содержит недопустимые символы.", destinationFilePath);
}
}
}