2013-05-03 35 views
0

我的程序正在看文本文件日志 - 每天自动生成。更新日期时自动更新路径?

现在当一天改变我的计划继续使用的最后一天的文件路径,

是有办法,而不该datetime.day每次和等于它检查到时,应用程序启动在一天这样做?

只见SystemsEvent.TimeChanged但是当用户更改日期manualy,

感谢它才能正常工作。

+0

在父文件夹上使用文件系统观察器并查找文件新文件事件。 – asawyer 2013-05-03 15:32:57

+0

你需要给出更多的上下文来解释你真正做了什么,理想情况下一些代码示例,以便有人可以理解你的问题。 – BlueTrin 2013-05-03 15:33:08

+1

你的问题很不清楚,但你看过['DateTime.Now'](http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx)? – tnw 2013-05-03 15:33:13

回答

1

执行此操作的简单方法是使路径使用DateTime对象。例如;

string fp = @".\subdir\otherSubdir\somefile-" + DateTime.Now.ToString("MM-dd-yyyy") + ".log"; 

当然,我不知道你的日期格式是什么。有关DateTime的ToString方法的格式说明符的文档可以在这里找到; http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

正如在评论中指出的,你也可以使用FileSystemWatcher然而,这是相当复杂一点,可能在这里不必要。如果你正在寻找一个更通用的解决方案(可以使用不同命名约定的文件),这将是一条可行的路线。

+0

我正在使用那种路径,但是当这一天改变时,路径仍然是最后一次,这就是为什么我问是否有路径离开循环,谢谢。 – Dan272 2013-05-03 16:24:22

+0

@ Dan272你说的没道理。这条路是什么圈?今天'DateTime.Now.ToString(“MM-dd-yyyy”);'返回5-3-2013明天它会回调5-4-2013。明天的“fp”将会与今天不同。它不会的唯一原因是您的应用程序作为服务运行,并且设置路径的代码仅在启动时执行。确保在尝试读取文件之前每次都设置“fp”。 – evanmcdonnal 2013-05-03 16:28:43

+0

这正是我的意思,路径atm只在启动时运行,我的问题是,如果有任何触发器会改变我当天改变或我需要检查每个循环的路径日期(当阅读文件),因为该文件每隔100ms读取一次,如果应用程序将有延迟创建新的日志文件,并且我的APP将尝试读取第二天的文件 - 它会使我的应用程序崩溃。这就是为什么我想知道是否有一个触发器 - 谢谢你。 – Dan272 2013-05-03 16:40:03