Почему StreamWriter не все записывает? - C#
Формулировка задачи:
Здравствуйте.
Есть код, который "обходит" все файлы и директории и пути к ним записывает в файл
Но почему то записывается фиксированное и неполное количество информации
Вот код :
Заранее благодарен за помощь
DateTime Start = DateTime.Now;
Console.Clear();
int errorCount = 0, count = 0;
using (StreamWriter _Sw = new StreamWriter("Paths.txt", true, Encoding.Default))
{
DriveInfo[] _DriveInfo = DriveInfo.GetDrives();
foreach (var _di in _DriveInfo)
{
Foo(new DirectoryInfo(_di.Name));
void Foo(DirectoryInfo dir)
{
Console.WriteLine(dir.FullName);
_Sw.WriteLine(dir.FullName);
try
{
foreach (DirectoryInfo item in dir.GetDirectories())
{
++count;
Foo(item);
}
foreach (var file in dir.EnumerateFiles())
{
Console.WriteLine(file.FullName);
_Sw.WriteLine(file.FullName);
++count;
}
}
catch (Exception)
{
++errorCount;
++count;
}
}
}
DateTime Finish = DateTime.Now;
Console.WriteLine();
Console.WriteLine($"отказов в доступе: {errorCount}");
Console.WriteLine($"Всего директорий и файлов : {count}");
Console.WriteLine($"Время выполнения : {Finish - Start}");
Console.ReadKey();
}Решение задачи: «Почему StreamWriter не все записывает?»
textual
Листинг программы
using (StreamWriter _Sw = new StreamWriter("Paths.txt", true, Encoding.Default, 1))