在c#的windows服务中为日志事件文件创建一个新目录
本文关键字:文件创建 新目录 一个 事件 日志 windows 服务 | 更新日期: 2023-09-27 18:16:12
我想知道如何通过c#在windows服务中为日志事件文件创建一个新目录
我有以下代码:
public static void WriteLog(string Message)
{
StreamWriter sw = null;
try
{
sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "''DataFile.txt", true);
//sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "C:''MulpuriServiceLOG''data.txt", true);
//sw.WriteLine(DateTime.Now.ToString() + ": " + Message);
sw.WriteLine(Message);
sw.Flush();
sw.Close();
}
catch{}
}
正如Directory.CreateDirectory(path)
的文档所述:
创建指定路径下的所有目录和子目录,除非它们已经存在。
修改自示例源代码:
string path = @"c:'MyDir";
try
{
// Try to create the directory.
Directory.CreateDirectory(path);
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {}
有一个关于dotnetperls的非常好的教程,包含示例代码,异常,提示和其他关于创建目录的有用信息!
查找SO-question以在可执行文件启动的同一目录下创建文件夹,或者简单地使用相对路径而不是绝对路径:
Directory.CreateDirectory("Test");
这样你就不会有寻找正确路径的冲突!
File yourFolder= new File("C:/yourFolder");
// if the directory does not exist, create it
if (!yourFolder.exists()) {
System.out.println("Creando directorio: " + yourFolder.getName());
boolean result = false;
try
{
yourFolder.mkdir();
result = true;
}
catch(SecurityException se){
}
if(result) {
System.out.println("Folder created");
}
}