程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#文件操作基礎之File類和FileInfo類

C#文件操作基礎之File類和FileInfo類

編輯:C#入門知識

文件和I/O流的差異:


文件是一些具有永久存儲及特定順序的字節組成的一個有序的、具有名稱的集合。
因此對於文件,我們常常想到目錄路徑,磁盤存儲,文件和目錄名等方面。
I/O流提供一種後備存儲寫入字節和從後備存儲讀取字節的方式。
後備存儲可以為多種存儲媒介之一。


System.IO命名空間中的常用類:


BinaryReader 用特定的編碼將基元數據類型讀作二進制值
BinaryWriter 以二進制形式將基元類型寫入流,並支持用特定的編碼寫入字符串
Directory 公開用於創建、移動和枚舉通過目錄和子目錄的靜態方法,無法被繼 承
DirectoryInfo 公開用於創建、移動和枚舉目錄和子目錄的實例方法,無法被繼承
File 提供創建、復制、刪除、移動和打開文件的靜態方法,協助創建 FileStream對象
FileInfo 提供創建、復制、刪除、移動和打開文件的實例方法,並且幫助創建 FileStream對象
FileStream 公開以文件為主的Stream,既支持同步讀寫操作,也支持異步讀寫操 作
FileSystemInfo 為FileInfo和DirectoryInfo對象提供基類
StreamReader 實現一個TextReader,使其以一種特定的編碼從字節流中讀取字符
StreamWriter 實現一個TextWriter,使其以一種特定的編碼向流中寫入字符






1.File類:


Copy 將現有文件復制到新文件

Create 在指定路徑中創建文件
Delete 刪除指定的文件,如果指定的文件不存在,則不引起異常
Exists 確定指定的文件是否存在
Move 將指定文件移到新位置,並提供指定新文件名的選項
Open 打開指定路徑上的FileStream
GetCreationTime 返回指定文件或目錄的創建日期和時間
OpenRead 打開現有文件進行讀取
OpenText 打開現有UTF-8編碼文本文件以進行讀取
OpenWrite 打開現有文件進行寫入




2.FileInfo類:

Directory 獲取父目錄的實例

Exists 獲取指示文件是否存在的值

FullName 獲取目錄或文件的完整目錄

Length 獲取當前文件的大小

Name 獲取文件名



3.File類和FileInfo類的基本操作方法


注意:

由於File類中的所有方法都是靜態的,所以如果只想執行一個操作,那麼使用File類中方法的效率比使用相應的FileInfo類中的方法可能更高


File類中的方法都是靜態方法,在使用時需要對所有方法都執行安全檢查。因此如果打算多次重用某個對象,可考慮改用FileInfo類中的相應方法,因為不總是需要安全檢查。




(1)判斷文件是否存在Exists方法


返回bool型,如果path為空或者沒有權限,則返回false

File:判斷C盤根目錄下有沒有test.txt文件:

File.Exists("C:\\test.txt")


FileInfo:

FileInfo fileinfo = new FileInfo("C:\\test.txt")

if(fileinfo.Exists){}




(2)創建文件用Create方法


File類的Create方法有4中重載方法:

public static FileStream Create(string path)

public static FileStream Create(string path,int bufferSize)

public static FileStream Create(string path,int bufferSize,FileOptions options)

public static FileStream Create(string path,int bufferSize,FileOptions options,FileSecurity fileSecurity)


File類Create方法參數說明

path 文件名

bufferSize 用於讀取和寫入文件的已放入緩沖區的字節數

options FileOptions值之一,它描述如何創建或改寫該文件

fileSecurity FileSecurity值之一,它確定文件的訪問控制和審核安全性


File類:

File.Create("C:\\test.txt")


FileInfo類:

FileInfo fileinfo = new FileInfo("C:\\test.txt")

fileinfo.Create();




(3)復制文件用File類的Copy方法以及FileInfo類的CopyTo方法


File類的Copy方法或者FileInfo類的CopyTo方法

File類的Copy方法有兩種重載方式

public static void Copy(string sourceFileName,string destFileName)

public static void Copy(string sourceFileName,string destFileName,bool overwrite)

sourceFileName表示要復制的文件,destFileName表示目標文件的名稱,不能是目錄,如果是第一種重載,則目標文件參數不能是現有文件。

overwrite表示是否可以改寫目標文件


將C盤根目錄下的test.txt文本文件復制到D盤根目錄下:

(這邊注意措辭,說明D盤根目錄下是沒有test.txt文件的)

File.Copy("C:\\test.txt","D:\\test.txt")


FileInfo類的CopyTo方法也有兩種重載方式

public FileInfo CopyTo(string destFileName)

public FileInfo CopyTo(string destFileName,bool overwrite)


FileInfo fileinfo = new FileInfo("C:\\test.txt");

fileinfo.CopyTo("D:\\test.txt",true);




(4)移動文件用File類的Move方法和FileInfo類的MoveTo方法


File類-Move方法-

public static void Move(string sourceFileName,string destFileName)

File.Move("C:\\test.txt","D:\\test.txt")


FileInfo類-MoveTo方法-publicvoid MoveTo(string destFileName)

FileInfo fileinfo = new FileInfo("C:\\test.txt");

fileinfo.MoveTo("D:\\test.txt");




(5)刪除文件用Delete方法


File類-Delete方法-public staticvoid Delete(string path)

File.Delete("C:\\test.txt")


FileInfo類-Delete方法-publicvoid Delete(string path)

FileInfo fileinfo = new FileInfo("C:\\test.txt");

fileinfo.Delete("D:\\test.txt");


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved