49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|