位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# Filelnfo類

提問人:劉團(tuán)圓發(fā)布時間:2020-12-10

    與Hie類不同,F(xiàn)ilelnfo類不是靜態(tài)的,沒有靜態(tài)方法,只有在實例化后才可使用。Filelnfo對象表示磁盤或網(wǎng)絡(luò)位置上的文件。提供文件路徑,就可以創(chuàng)建一個Filelnfo對象:

    Filelnfo aFile = new Filelnfo <@"C:\Log.txt*1);


    在路徑名中,你也可以使用“/”字符。但那樣的話,當(dāng)執(zhí)行的Windows命令為命令行選項使“/”時,將會發(fā)生沖突。

    也可將目錄名傳遞給FileInfo構(gòu)造函數(shù),但實際上這并不是很有用。這么做會用所有的目錄信息初始化FileInfo的基類FilesSystemlnfo,但FileInfo中與文件相關(guān)的專用方法或?qū)傩远疾粫ぷ鳌?/p>

    FileInfo類提供的許多方法類似于File類的方法,但由于File是靜態(tài)類,它需要一個字符串參數(shù)為每個方 法調(diào)用指定文件位置。因此,下面的調(diào)用可以完成相同的工作:

Filelnfo aFile = new Filelnfo("Data.txt"); 

if (aFile.Exists)

    WriteLine ("File Exists"); 

if (File.Exists("Data.txt"))

    WriteLine {"File Exists");

    這段代碼檢查文件Data.txt是否存在。注意,這里沒有指定任何目錄信息,這說明只檢査當(dāng)前的工作目錄。這個目錄包含調(diào)用此代碼的應(yīng)用程序。

    Filelnfo類的許多方法與File類中的對應(yīng)方法類似。大多數(shù)情況下使用什么技術(shù)并不重要,但下面的規(guī)則有助于確定哪種技術(shù)更合適:

    ? 如果僅進(jìn)行單一方法調(diào)用,則可使用靜態(tài)File類上的方法。在此,單一調(diào)用要快一些,因為.NET Framework不必實例化新對象,再調(diào)用方法。

    ? 如果應(yīng)用程序在文件上執(zhí)行幾種操作,則實例化Filelnfo對象并使用其方法就更好一些。這節(jié)省時間,因為對象己在文件系統(tǒng)上引用正確的文件,而靜態(tài)類必須每次都尋找文件。

    Filelnfo類也提供了與底層文件相關(guān)的屬性,其中一些屬性可用來更新文件,其中很多屬性都繼承于FileSystemlnfo.所以可應(yīng)用于 Filelnfo和 Directorylnfo類。FileSystemlnfo類的屬性如表所不。

屬 性

說明

Attributes

使用FileAttributes枚舉,獲取或者設(shè)置當(dāng)前文件或目錄的特性

CreationTime,

CreationTimeUtc

獲取當(dāng)前文件的創(chuàng)建日期和時間,可使用UTC和非UTC版本

Extension

提取文件的擴(kuò)展名。這個屬性是只讀的

Exists

確定文件是否存在,這是一個只讀的抽象屬性,在FilelnfoDirectorylnfo中進(jìn)行了重寫

FullName

檢索文件的完整路徑,這個屬性是只讀的

LastAccessTime,

LastAccessTimeUtc

獲取或設(shè)盟上次訪問當(dāng)前文件的日期和時間,可使用UTC和非UTC版本

LastWriteTime,

LastWriteTimelltc

獲取或設(shè)罝上次寫入當(dāng)前文件的日期和時間,可使用UTC和非UTC版本

Name

檢索文件的完整路徑,這是一個只讀抽象屬性,在FilelnfoDirectorylnfo中進(jìn)行了重寫

Filelnfo的專用屬性如表所示。

說明

Directory

檢索一個Directorylnfo對象,表示包含當(dāng)前文件的目錄。這個屈性是只讀的

DirectoryName

返回文件目錄的路徑。這個屬性是只讀的

IsReadOnly

文件只讀特性的快捷方式。也可以通過Attributes來訪問這個屈性

Length

獲取文件的大小(以字節(jié)為單位),返回long值。這個屬性是只讀的


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部