C#學習之檔案操作

來源:互聯網
上載者:User

標籤:建立時間   包含   nbsp   pat   font   stat   art   類方法   對象建立   

1 DirectoryInfo 類介紹

    DirectoryInfo 類在 .net 開發中主要用於建立、移動和枚舉目錄和子目錄的執行個體方法,此類不能被繼承。

  從事 .net 軟體開發的同事對 DirectoryInfo 類應該都很熟悉,在開發過程中如果你打算多次重用某個對象,建議你使用 DirectoryInfo 的執行個體方法,而不是 Directory 類的方法,因為 Directory 類是靜態,在使用它的方法時每次都需要安全檢查,而 DirectoryInfo 類的方法則不需要安全檢查。

 

2 DirectoryInfo 類屬性

    (1) Attributes:擷取或設定當前檔案或目錄的特性 。    (2) CreationTime:擷取或設定當前檔案或目錄的建立時間。    (3) CreationTimeUtc:擷取或設定當前檔案或目錄的建立時間,其格式為國際標準時間 (UTC)。    (4) Exists:擷取指示目錄是否存在的值。    (5) Extension:擷取表示副檔名部分的字串。    (6) FullName:擷取目錄或檔案的完整目錄。  .NET 4.5 版本 DirectoryInfo 新增屬性    (7) LastAccessTime:擷取或設定上次訪問當前檔案或目錄的時間 。    (8) LastAccessTimeUtc:擷取或設定上次訪問當前檔案或目錄的時間,其格式為國際標準時間 (UTC)。    (9) LastWriteTime:擷取或設定上次寫入當前檔案或目錄的時間。    (10) LastWriteTimeUtc:擷取或設定上次寫入當前檔案或目錄的時間,其格式為國際標準時間 (UTC)。  3 DirectoryInfo 類方法    (1) Create():建立目錄。    (2) Delete():如果此 DirectoryInfo 為空白,則刪除它。    (3) Create(DirectorySecurity):使用 DirectorySecurity 對象建立目錄。    (4) CreateObjRef:建立一個對象,該對象包含產生用於與遠程對象進行通訊的代理所需的全部相關資訊。    (5) CreateSubdirectory(String):在指定路徑中建立一個或多個子目錄 。指定路徑可以是相對於 DirectoryInfo 類的此執行個體的路徑。    (6) CreateSubdirectory(String, DirectorySecurity):使用指定的安全性在指定的路徑上建立一個或多個子目錄。指定路徑可以是相對於 DirectoryInfo 類的此執行個體的路徑。    (7) Delete() 如果此 DirectoryInfo 為空白,則刪除它 。 

4 執行個體

  4.1 建立 “收藏” 檔案夾

1 DirectoryInfo di = new DirectoryInfo("E:\newFolder\收藏");2 di.Create();

  4.2 建立 “我的收藏.txt” 檔案

1 DirectoryInfo di = new DirectoryInfo("E:\newFolder\收藏\我的收藏.txt");2 di.Create();

  4.3 刪除 “收藏” 檔案夾

1 DirectoryInfo di = new DirectoryInfo("E:\newFolder\收藏");    2 di.Delete(true);

  4.4 擷取子目錄和檔案

1 DirectoryInfo di = new DirectoryInfo("E:\newFolder\收藏");    2 di.GetDirectories();

  4.5 設定目錄屬性

1 DirectoryInfo di =new DirectoryInfo("E:\newFolder\收藏");2 di.Atttributes=FileAttributes.ReadOnly|FileAttributes.Hidden;  //唯讀、隱藏

  4.6 移動目錄或檔案

1 File.Move("E:\newFolder\收藏\a.txt","E:\newFolder\愛好");

  4.7 擷取目錄下的檔案

1 Directory. GetFiles ("E:\newFolder\收藏");

  4.8 判斷目錄是否存在

1 File.Exists("E:\newFolder\收藏");

  4.9 複製目錄或檔案

1 File.Copy(source,target);

  4.10 擷取檔案路徑中的檔案名稱

1 Path.GetFileName("E:\aa\bb\c.txt");  //結果:c.txt

  4.11 擷取檔案路徑中的檔案名稱的父路徑

1 Path.GetDirectoryName("E:\aa\bb\c.txt");   //結果:E:\aa\bb\

  4.12 讀取檔案

 1 public static byte[] FileRead(System.IO.FileInfo file, long start, int packagesize) 2 { 3        byte[] resutl = null; 4        long length = start + packagesize; 5        using (System.IO.FileStream stream = file.OpenRead()) 6        { 7             if (length > stream.Length) //最後一部分不足packagesize 8                 resutl = new byte[stream.Length - start]; 9             else10                 resutl = new byte[packagesize];11             stream.Seek(start, System.IO.SeekOrigin.Begin);12             stream.Read(resutl, 0, resutl.Length);13        }14        return resutl;15 }

  4.13 寫入檔案

 1 public static void FileWrite(System.IO.FileInfo file, long start, byte[] data) 2 { 3      using (System.IO.FileStream stream = file.OpenWrite()) 4      { 5           stream.Seek(start, System.IO.SeekOrigin.Begin); 6           stream.Write(data, 0, data.Length); 7           stream.Flush(); 8           stream.Close(); 9       }10  }

C#學習之檔案操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.