Как избежать автоматической очистки консоли, когда поток ввода печати действительно велик? - PullRequest
0 голосов
/ 06 января 2019

Я написал программу, распечатывающую все каталоги на моем диске с указанием полного пути к консоли (код ниже). Проблема в том, что консоль автоматически очищается при увеличении входного потока. Поэтому я не понимаю все пути, потому что через короткое время консоль автоматически очищается. Как я могу избежать этого?

public static void ListDirectories(DirectoryInfo[] directory)  
    {  
        foreach (DirectoryInfo info in directory)  
        {  
            Console.WriteLine(info.FullName);  
            try  
            {  
                if (info.GetDirectories().Length > 0)  
                    ListDirectories(info.GetDirectories());  
            }  
            catch (UnauthorizedAccessException e)  
            {  
                continue;  
            }  
        }  
    }

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Ваша программа записывает информацию в поток Вывод процесса (также известный как Стандартный вывод ). Например, Console.WriteLine совпадает с Console.Out.WriteLine.

Вы можете перенаправить этот поток информации при запуске вашей программы без изменений в коде. Когда вы запускаете программу, присвойте ей имя файла, в который вы хотите записать поток, например, следующим образом:

YourProgram.exe >YourOutputFile.txt

(Вы можете указать полное имя файла, если хотите). Это будет перезаписывать этот файл каждый раз. Если вы хотите добавить его в существующий файл (если он есть), используйте >> вместо >.

0 голосов
/ 06 января 2019

Это не имеет ничего общего с c #.

Кроме того, я рекомендую записать вывод в текстовый файл или другие форматы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...