在c#中獲得檔案資訊很容易,只需要用fileinfo類或者fileversioninfo類就可以獲得,但是如果想要獲得檔案的擴充套件資訊,則無法從這兩類來獲得。不過在c#中,這也不是件難事,只要引入「microsoft shell controls and automation」這個com就可以獲得。
接下來就分別來介紹。
首先介紹fileinfo類,這個類非常簡單,首先需要根據檔名來建立fileinfo物件,例如:
using
system.io;
fileinfo fi = new fileinfo(yourfilename
);
那麼以後就可以通過此物件來訪問檔案一些屬性,例如檔案大小,建立時間,最後訪問時間,最後寫入時間等等,還可以通過訪問物件的attributes屬性,來獲得當前檔案是唯讀、隱藏之類屬性,這裡我就不細說了,詳情參看msdn。
第二個要說的,就是filesysteminfo類,這個類是fileinfo類的基類,這裡也就不多說了。
第三個要說的,就是如何判斷乙個檔案的version資訊,這就需要來介紹fileversioninfo這個類。但是並不是所有的檔案都有version資訊,因此在使用fileversioninfo的時候需要注意的是,最好先判斷一下檔案的副檔名。不過乙個fileversioninfo類物件不能通過建構函式來建立,需要呼叫類的靜態方法來獲得,例如:
using
system.diagnostics;
fileversioninfo fvi = fileversioninfo.getversioninfo(yourfilename
);
通過此物件,可以獲得檔案的產品名稱,公司名,版本號,語言版本,版權等等,這方面詳情可以參看msdn。
最後要說的,就是如何得到乙個檔案的擴充套件資訊,例如標題,作者等等,這些資訊從如上三個類中是無法獲得。但是要在c#程式中獲得,就需要引入乙個「microsoft shell controls and automation」這個com,這個com是由系統「shell32.dll」而提供。這方面的例子,可以參看如下這篇文章。
為了方便大家使用,我把其中類的**貼出來。
using
shell32;// use this namespace after add the reference
//////
returns the detailed information of a given file.
///public
class cfileinfo
}#endregion }
else
} #region
"properties"
public
string filename
set }
public
string filepath
set }
public
string fullfilename
set }
public
string fileextension
set }
public
long filesize
set }
public
long fileversion
set }
public datetime filecreationdate
set }
public datetime filemodificationdate
set }
public
string filetype
} public
string filetitle
} public
string filesubject
} public
string fileauthor
} public
string filecategory
} public
string filecomment
} #endregion
#region
"methods"
private arraylist getdetailedfileinfo(string sfile)
}catch(exception)
}return areturn; }
#endregion }
// helper class from holding the detailed file informations
// of the system
public
class detailedfileinfo
set
} public
string value
set }
public detailedfileinfo(int id, string value)
}
如何用C 獲得檔案資訊以及擴充套件資訊
在 c 中獲得檔案資訊很容易,只需要用 fileinfo 類或者fileversioninfo 類就可以獲得,但是如果想要獲得檔案的擴充套件資訊,則無法從這兩類來獲得。不過在 c 中,這也不是件難事,只要引入 microsoft shell controls and automation 這個com...
如何用C 獲得檔案資訊以及擴充套件資訊
在c 中獲得檔案資訊很容易,只需要用fileinfo類或者fileversioninfo類就可以獲得,但是如果想要獲得檔案的擴充套件資訊,則無法從這兩類來獲得。不過在c 中,這也不是件難事,只要引入 microsoft shell controls and automation 這個com就可以獲得...
如何用Python寫C擴充套件?
1.環境準備 如果是linux只需要安裝python3.x python dev。windows下稍微複雜點,vs2017 python3.6.3 vs2017可用社群版,需要選擇安裝的環境如下 2.1 c模組封裝 以計算兩個數相加為例,選擇任意資料夾,新建如下c語言原始碼 檔名 calc.c in...