我的程序正在看文本文件日誌 - 每天自動生成。更新日期時自動更新路徑?
現在當一天改變我的計劃繼續使用的最後一天的文件路徑,
是有辦法,而不該datetime.day每次和等於它檢查到時,應用程序啓動在一天這樣做?
只見SystemsEvent.TimeChanged但是當用戶更改日期manualy,
感謝它才能正常工作。
我的程序正在看文本文件日誌 - 每天自動生成。更新日期時自動更新路徑?
現在當一天改變我的計劃繼續使用的最後一天的文件路徑,
是有辦法,而不該datetime.day每次和等於它檢查到時,應用程序啓動在一天這樣做?
只見SystemsEvent.TimeChanged但是當用戶更改日期manualy,
感謝它才能正常工作。
執行此操作的簡單方法是使路徑使用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
然而,這是相當複雜一點,可能在這裏不必要。如果你正在尋找一個更通用的解決方案(可以使用不同命名約定的文件),這將是一條可行的路線。
我正在使用那種路徑,但是當這一天改變時,路徑仍然是最後一次,這就是爲什麼我問是否有路徑離開循環,謝謝。 – Dan272 2013-05-03 16:24:22
@ Dan272你說的沒道理。這條路是什麼圈?今天'DateTime.Now.ToString(「MM-dd-yyyy」);'返回5-3-2013明天它會回調5-4-2013。明天的「fp」將會與今天不同。它不會的唯一原因是您的應用程序作爲服務運行,並且設置路徑的代碼僅在啓動時執行。確保在嘗試讀取文件之前每次都設置「fp」。 – evanmcdonnal 2013-05-03 16:28:43
這正是我的意思,路徑atm只在啓動時運行,我的問題是,如果有任何觸發器會改變我當天改變或我需要檢查每個循環的路徑日期(當閱讀文件),因爲該文件每隔100ms讀取一次,如果應用程序將有延遲創建新的日誌文件,並且我的APP將嘗試讀取第二天的文件 - 它會使我的應用程序崩潰。這就是爲什麼我想知道是否有一個觸發器 - 謝謝你。 – Dan272 2013-05-03 16:40:03
在父文件夾上使用文件系統觀察器並查找文件新文件事件。 – asawyer 2013-05-03 15:32:57
你需要給出更多的上下文來解釋你真正做了什麼,理想情況下一些代碼示例,以便有人可以理解你的問題。 – BlueTrin 2013-05-03 15:33:08
你的問題很不清楚,但你看過['DateTime.Now'](http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx)? – tnw 2013-05-03 15:33:13