C#中重新定义Console实现自动保存输出到文件

来源:互联网 发布:天猫和淘宝价格对比 编辑:程序博客网 时间:2024/04/30 13:21
static class Console{    public static string ReadLine()    {        return System.Console.ReadLine();    }    public static ConsoleKeyInfo ReadKey()    {        return System.Console.ReadKey();    }    public static ConsoleKeyInfo ReadKey(bool intercept)    {        return System.Console.ReadKey(intercept);    }    public static void WriteLine(int value, bool isLog = true)    {        System.Console.WriteLine(value);        if (isLog)        {            WriteFile(value.ToString() + "\r\n");        }    }    public static void WriteLine(string value, bool isLog = true)    {        System.Console.WriteLine(value);        if (isLog)        {            WriteFile(value + "\r\n");        }    }    public static void WriteLine(string format, params object[] arg)    {        System.Console.WriteLine(format, arg);        WriteFile(string.Format(format, arg) + "\r\n");    }    public static void Write(int value, bool isLog = true)    {        System.Console.Write(value);        if (isLog)        {            WriteFile(value.ToString());        }    }    public static void Write(string value, bool isLog = true)    {        System.Console.Write(value);        if (isLog)        {            WriteFile(value);        }    }    public static void Write(string format, params object[] arg)    {        System.Console.Write(format, arg);        WriteFile(string.Format(format, arg));    }    private static bool IsFirst = true;    private static void WriteFile(string value)    {        if (IsFirst)        {            System.IO.File.Delete(System.IO.Path.Combine(Environment.CurrentDirectory,                                  "log.txt"));            IsFirst = false;        }        System.IO.File.AppendAllText(System.IO.Path.Combine(Environment.CurrentDirectory,                                     "log.txt"), value, Encoding.Default);    }}
0 0
原创粉丝点击