2011-03-30 15 views
0

我想自動執行讀取文件,處理它然後將其寫入新文件的程序。問題是每天都會有新文件出現,而且內容相似,輸入文件和輸出文件名稱將每天更改。文件名將採用以下格式:SAPHR_Joiners_20110323。正如你所看到的名字的第一部分將是恆定的,但日期將是唯一的......我將如何能夠做到這一點?從C#中每天更改的文件讀取#

非常感謝你們

+0

什麼是你的問題到底是什麼? – 2011-03-30 08:32:55

+0

不確定你想要做什麼。您需要詳細詢問。 – 2011-03-30 08:33:06

+0

什麼阻止你使用:「APHR_Joiners _」+ DateTime.Now.ToString(format);或類似的東西。 – 2011-03-30 08:33:21

回答

1

你就不能生成動態文件名在你的程序,然後打開相應的文件?因此,像這樣:

string filename = "SAPHR_Joiners_" + DateTime.Now.ToString("yyyyMMdd"); 
string[] filecontents = File.ReadAllLines(filename); 
0

使用FileSystemWatcher類來尋找新傳入的文件,如果你想輸入反應迅速,否則只是找到基於當前日期的文件。如果您還有其他問題,請告訴我們。

2

如果你想讀一個文件夾中的最新的文件,你可以查詢的創建日期,使用System.IO.File.GetCreationTime

在代碼:

string myFile = 
      Directory.GetFiles(@"C:\Temp") 
      .OrderBy<String, DateTime>(file => File.GetCreationTime(file)) 
      .First(); 

但是,如果你知道文件名會遵循嚴格的命名約定,那麼最好通過生成文件名來訪問文件,如其他答案所示。

0

返回VB6一個技術,它仍然在使用這種天的日子是folder monitoring

您繼續檢查,如果一個文件夾中有文件,在x分鐘每X,或在你的情況,每天在XX小時例如。

,你可以從你的程序中創建一個服務,這將確保它運行每次(只要機器上):)

那些日子,在VB6,我們沒有過這麼就像你今天所看到的一樣,因此,爲了觀看特定文件類型的文件夾(或任何其他文件),您可以使用System.IO.FIleSystemWatcher(該頁面中的示例)並處理該文件,僅使用System.IO.TextReader爲例