在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...