2013-04-03 70 views
0

在C#中,我想從特定文件中讀取文件詳細信息。
我發現一個有趣的線索:Read/Write 'Extended' file properties (C#)閱讀文件詳細信息(不依賴於語言)

它使用一個電話到該文件夾​​殼對象的GetDetailsOf()方法包括在shell32.dll中。
它工作正常,但我有一個問題:根據操作系統語言,標題字符串永遠不會相同...('名稱'爲英文Windows上的文件名屬性,法國Windows'Nom')。
因此,檢索具有屬性名稱的特定值並不容易,因爲它會根據語言進行更改...
有沒有一種方法可以輕鬆應對?

回答

0

某些屬性可通過FileInfo對象獲得。例如,如果你想要的文件的創建時間,你可以這樣做:

Fileinfo myFileInfo = new Fileinfo(@"C:\path\to\file"); 
DateTime ftime = myFileInfo.CreationTime; 
+0

在我的情況還不夠...感謝 – 2013-04-03 20:52:02

0

是在FileInfo類不能滿足你的需求?

FileInfo info = new FileInfo("fileName"); 
var name = info.Name; 
var creationTime = info.CreationTime; 
// etc ... 

如果不是,請告訴你更多關於你想從你的文件中讀取哪些屬性。


更新我回答:

我不知道一個庫,將允許讀任何類型的文檔屬性

但這裏有幾個方法你說的格式,

PDF

Extracting Additional Metadata from a PDF using iTextSharp

Read/Modify PDF Metadata using iTextSharp

所以,iText®是一個庫,允許你創建和操縱PDF文檔(從他們的網站)

辦公室:(從MS第一個鏈接規定,它適用於Word以及Excel文檔)

How to: Read from and Write to Document Properties

Listing properties of a word document in C#

+0

沒有,FileInfo的是不夠的......我得從各種文件(PDF,DOC,XLS,幾個信息。例如文檔標題,作者等等..) – 2013-04-03 20:51:03

+0

謝謝Aybe,但我想爲整個文件通用的東西,並沒有第三方工具。 – 2013-04-04 06:12:54

+0

祝你好運。 – Aybe 2013-04-04 12:56:43