簡體   English   中英

如何獲取文件屬性?

[英]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);

這是有關查看屬性的信息的鏈接

除此之外,您可能希望使用FileInfo 類

您還關注哪些其他類型的房產?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM