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}");
|
||
}
|
||
}
|
||
}
|
||
}
|