distributed-computing/tasks/dunaev-ol/lab_2/worker-2/Program.cs
2023-12-13 13:25:11 +04:00

61 lines
2.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.IO;
namespace FileManipulation
{
class Program
{
static void Main(string[] args)
{
string sourceDirectoryPath = "/var/data";
string destinationFilePath = "/var/result/data.txt";
string fileWithMostLines = string.Empty;
int maxLineCount = 0;
try
{
DirectoryInfo sourceDirectory = new DirectoryInfo(sourceDirectoryPath);
FileInfo[] files = sourceDirectory.GetFiles();
foreach (var file in files)
{
int lineCount = File.ReadLines(file.FullName).Count();
if (lineCount > maxLineCount)
{
maxLineCount = lineCount;
fileWithMostLines = file.FullName;
}
}
if (!string.IsNullOrEmpty(fileWithMostLines))
{
// Перемещение файла с наибольшим количеством строк в новое место
File.Move(fileWithMostLines, destinationFilePath);
Console.WriteLine($"Файл {fileWithMostLines} успешно перемещен в {destinationFilePath}.");
}
else
{
Console.WriteLine("В указанном каталоге нет файлов.");
}
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Указанный каталог не существует.");
}
catch (IOException ex)
{
Console.WriteLine($"Произошла ошибка при перемещении файла: {ex.Message}");
}
catch (UnauthorizedAccessException)
{
Console.WriteLine("Недостаточно прав для доступа к каталогу или файлу.");
}
catch (Exception ex)
{
Console.WriteLine($"Произошла непредвиденная ошибка: {ex.Message}");
}
}
}
}