C#实现一个简单实用的TXT文本操作及日志框架详解
在C#开发中,文本操作是非常常见的需求,而日志框架则是为了记录程序执行过程中的关键数据和错误信息等,方便开发者进行问题定位和排查。本文将详细讲解如何使用C#实现一个简单实用的TXT文本操作及日志框架。
实现TXT文本操作
实现TXT文本操作需要使用到C#的System.IO
命名空间下的File
类和StreamWriter
类。代码如下:
using System.IO;
namespace TextDemo
{
class Program
{
static void Main(string[] args)
{
// 写入文本
string text = "Hello World!";
File.WriteAllText("text.txt", text);
// 读取文本
string content = File.ReadAllText("text.txt");
Console.WriteLine(content);
Console.ReadLine();
}
}
}
上述代码中,WriteAllText
方法用于写入文本,ReadAllText
方法用于读取文本,这两个方法都接收两个参数,第一个参数表示文件路径,第二个参数表示要写入或读取的文本内容。
实现日志框架
实现日志框架需要用到C#的System.IO
命名空间下的StreamWriter
类。代码如下:
using System;
using System.IO;
namespace LogDemo
{
class Program
{
static void Main(string[] args)
{
// 写入日志
string log = "Error: Divide by zero.";
WriteLog(log);
// 读取日志
string content = File.ReadAllText("log.txt");
Console.WriteLine(content);
Console.ReadLine();
}
static void WriteLog(string log)
{
using (StreamWriter writer = new StreamWriter("log.txt", true))
{
writer.WriteLine($"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}] {log}");
}
}
}
}
上述代码中,StreamWriter
类的构造函数接收两个参数,第一个参数表示文件路径,第二个参数为是否在文件末尾添加内容,这里传入true
表示在文件末尾添加内容。
WriteLog
方法用于写入日志,除了要写入的日志内容,还添加了当前时间戳,方便开发者确定错误发生的时间点。
示例
接下来,我们以一个具体的场景为例,演示如何使用上述方法进行文本操作和记录日志。
假设我们要实现一个计算器程序,可以对两个数进行加、减、乘、除的运算,并将结果输出到文本文件中。同时,还需要在程序中实现日志记录。
首先,我们编写一个Calculator
类来实现加、减、乘、除运算,并在其中添加写入文本和记录日志的方法。代码如下:
using System;
using System.IO;
namespace CalculatorDemo
{
class Calculator
{
public static void Add(double num1, double num2)
{
double result = num1 + num2;
string log = $"{num1} + {num2} = {result}";
WriteLog(log);
WriteText(result.ToString());
}
public static void Subtract(double num1, double num2)
{
double result = num1 - num2;
string log = $"{num1} - {num2} = {result}";
WriteLog(log);
WriteText(result.ToString());
}
public static void Multiply(double num1, double num2)
{
double result = num1 * num2;
string log = $"{num1} * {num2} = {result}";
WriteLog(log);
WriteText(result.ToString());
}
public static void Divide(double num1, double num2)
{
try
{
double result = num1 / num2;
string log = $"{num1} / {num2} = {result}";
WriteLog(log);
WriteText(result.ToString());
}
catch (DivideByZeroException ex)
{
string log = "Error: Divide by zero.";
WriteLog(log);
WriteText("Divide by zero.");
}
}
static void WriteLog(string log)
{
using (StreamWriter writer = new StreamWriter("log.txt", true))
{
writer.WriteLine($"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}] {log}");
}
}
static void WriteText(string content)
{
File.AppendAllText("result.txt", content + Environment.NewLine);
}
}
}
上述代码中,四个运算方法中,都调用了WriteLog
方法来记录日志,在输出结果时调用了WriteText
方法来写入文本。
接下来,我们在Main
方法中调用这些方法,进行加减乘除运算。代码如下:
using System;
namespace CalculatorDemo
{
class Program
{
static void Main(string[] args)
{
Calculator.Add(1, 2);
Calculator.Subtract(3, 4);
Calculator.Multiply(5, 6);
Calculator.Divide(7, 0);
Calculator.Divide(8, 2);
Console.ReadLine();
}
}
}
运行程序后,在根目录下会生成result.txt
和log.txt
两个文件,result.txt
中存储了运算结果,log.txt
中存储了程序执行过程中的错误日志。
以上就是C#实现一个简单实用的TXT文本操作及日志框架的详细攻略,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现一个简单实用的TXT文本操作及日志框架详解 - Python技术站