2013-04-03 66 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