61 lines
2.2 KiB
C#
61 lines
2.2 KiB
C#
|
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}");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|