[英]how to get file properties?
我想要一個應用程序,它顯示媒體文件的某些文件屬性(如果可用),例如(不知道在 Windows 中使用的確切英文單詞)文件名、長度/持續時間、文件類型(.avi .mp3 等)我試過 taglib和 windowsapishell 但我沒有得到工作結果(參考文獻很好)
ShellFile so = ShellFile.FromFilePath(file);
so.Properties.System.(everythingIwant)
向我展示了許多我想要顯示的文件屬性,但我無法使其正常工作 錯誤示例:
“WindowsFormsApplication2.vshost.exe”(托管(v4.0.30319)):加載“C:\\Windows\\Microsoft.Net\\assembly\\GAC_MSIL\\WindowsBase\\v4.0_4.0.0.0__31bf3856ad364e35\\WindowsBase.dll”,跳過加載符號。 模塊已優化,調試器選項“僅我的代碼”已啟用。 程序“[6300] WindowsFormsApplication2.vshost.exe:程序跟蹤”已退出,代碼為 0 (0x0)。 程序“[6300] WindowsFormsApplication2.vshost.exe: Managed (v4.0.30319)”已退出,代碼為 0 (0x0)。
一些簡單的東西
var thing = so.Properties.System.FileName.Description;
Console.WriteLine(thing);
行不通
我確實知道一些 Java 和 PHP 編程,但我對 C# 完全陌生
特別感謝@marr75 和@errorstacks!
一個后續問題:我做了這個,它有效
class Program
{
static void Main(string[] args)
{
string file = "E:/Dump/Shutter Island.avi";
FileInfo oFileInfo = new FileInfo(file);
Console.WriteLine("My File's Name: \"" + oFileInfo.Name + "\"");
DateTime dtCreationTime = oFileInfo.CreationTime;
Console.WriteLine("Date and Time File Created: " + dtCreationTime.ToString());
Console.WriteLine("myFile Extension: " + oFileInfo.Extension);
Console.WriteLine("myFile total Size: " + oFileInfo.Length.ToString());
Console.WriteLine("myFile filepath: " + oFileInfo.DirectoryName);
Console.WriteLine("My File's Full Name: \"" + oFileInfo.FullName + "\"");
}
}
但我希望它只在信息存在時向我提供信息。 我看到了
**Exists** Gets a value indicating whether a file exists. (Overrides FileSystemInfo.Exists.)
但是我如何使用這個函數,我猜不像 if(io.ofileinfo.FullName.exist) {Console.Write(io.ofileinfo.fullname);} ?
在查看或打開文件時,要獲取其名稱,FileInfo 類配備了 Name 屬性。 這是一個示例代碼:
FileInfo oFileInfo = new FileInfo(strFilename);
if (oFileInfo != null || oFileInfo.Length == 0)
{
MessageBox.Show("My File's Name: \"" + oFileInfo.Name + "\"");
// For calculating the size of files it holds.
MessageBox.Show("myFile total Size: " + oFileInfo.Length.ToString());
}
你可以這樣檢查:
if (!oFileInfo.Exists)
{
throw new FileNotFoundException("The file was not found.", FileName);
}
要找出這些日期和時間值,您可以使用以下方法訪問文件系統信息屬性:
DateTime dtCreationTime = oFileInfo.CreationTime;
MessageBox.Show("Date and Time File Created: " + dtCreationTime.ToString());
要知道文件的擴展名,您可以訪問 FileSystemInfo.Extension 屬性的值:
MessageBox.Show("myFile Extension: " + oFileInfo.Extension);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.