文件和I/O流的差異:
System.IO命名空間中的常用類:
Copy 將現有文件復制到新文件
Create 在指定路徑中創建文件
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){}
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");