我有一个基本的C#控制台应用程序,它从网站检索日志,但是在大约100行后,旧的日志将被删除,用户无法向上滚动并再次查看它们,有没有办法增加它保存的大小?
我有一个基本的C#控制台应用程序,它从网站检索日志,但是在大约100行后,旧的日志将被删除,用户无法向上滚动并再次查看它们,有没有办法增加它保存的大小?
Console.SetBufferSize()可以帮助您购买更大的缓冲区。 但是有一些复杂情况需要注意。 最大大小存在上限,并且SetBufferSize()方法中的参数验证代码存在错误。 它报告Int16.MaxValue是您可以请求的最大行数。 这是一个差一的错误。 在Windows 7上,您可以使用:
static void Main(string[] args) {
Console.SetBufferSize(Console.BufferWidth, 32766);
// etc..
}
在旧操作系统(如XP)中,缓冲区大小受到很严格的限制,以前只能使用 65536 字节的缓冲区。我已经没有它们了,无法进行检查。在这些操作系统上,可能有效的代码是:
static void Main(string[] args) {
var lines = 65536 / 2 / Console.BufferWidth;
Console.SetBufferSize(Console.BufferWidth, lines);
// etc..
}
您可以使用 Console.SetBufferSize() 方法http://msdn.microsoft.com/en-us/library/system.console.setbuffersize.aspx
Console.SetOut方法可以帮助您将控制台输出重定向到文件中。点击链接查看示例。 http://www.java2s.com/Code/CSharp/Development-Class/DemonstratesredirectingtheConsoleoutputtoafile.htm