我编写了一个程序,打印出驱动器上的所有目录以及它们到控制台的完整路径(下面的代码)。问题是当输入流变大时,控制台会自动清除。因此,我无法获得所有路径,因为不久后控制台将自动清除。我该如何避免呢?
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;
}
}
}
答案 0 :(得分:0)
这与c#无关。
此外,我建议您将输出写入txt文件或其他格式。
答案 1 :(得分:0)
您的程序正在将信息写入进程的 Output 流(也称为 Standard Output )。例如,Console.WriteLine
与Console.Out.WriteLine
相同。
您可以在运行程序时重定向该信息流,而无需更改代码。运行程序时,请为其指定要向其写入流的文件的名称,例如:
YourProgram.exe >YourOutputFile.txt
(您可以根据需要提供完全限定的文件名。)这将每次覆盖该文件。如果要将其附加到现有文件(如果有),则使用>>
而不是>
。