public class LogWriter:StreamWriter
{
private FileStream _FileStream;
private LogWriter(Stream stream)
: base(stream)
{ }
public LogWriter()
{
//判断目录是否存在,不存在则创建
string dir = GetLogDir();
if (Directory.Exists(dir) == false)
{
Directory.CreateDirectory(dir);
}
//打开文件,不存在则创建
string path = GetLogFilePath();
_FileStream = File.Open(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
}
private string GetLogDir()
{
return Path.Combine(Application.StartupPath, "log");
}
private string GetLogFilePath()
{
return Path.Combine(GetLogDir(), string.Format("log{0}.txt",DateTime.Now.ToString("yyyyMMdd")));
}
}
我想实现LogWriter()这个空的构造函数,不知道怎么弄?
{
StreamWriter sw;
public LogWriter()
{
string dir = GetLogDir();
if (Directory.Exists(dir) == false)
{
Directory.CreateDirectory(dir);
}
//打开文件,不存在则创建
string path = GetLogFilePath();
sw = new StreamWriter(path);
}
private string GetLogDir()
{
return Path.Combine(Application.StartupPath, "log");
}
private string GetLogFilePath()
{
return Path.Combine(GetLogDir(), string.Format("log{0}.txt", DateTime.Now.ToString("yyyyMMdd")));
} public override void Write(string value)
{
sw.Write(value);
} //VS中敲入override+空格,然后选择需要重载的函数,重载方法调用sw对应的方法即可。
}