C# 學習 檔案和註冊表操作

來源:互聯網
上載者:User

本文是學習筆記,C#進階編程第六版25章 檔案和註冊表操作

一, 管理檔案系統

     1,File directory 是靜態類,如果只是調用一個檔案或檔案夾的一次操作,可以使用這些類。

         FIleInfo DirectoryInfo是密封類,需要執行個體化,所以如果多次操作某個檔案可以使用這些類。

     2,FileInfo 可以執行Open(),OpenRead(),OpenText(),OpenWrite(),Create(),CraetText()方法,他們返迴流對象。

     3,path類是一個靜態類,不能執行個體化。

     4,file和directory的方法:MoveTo()  Delete() CopyTo()

二,讀寫檔案

     1,方法的羅列:

         File.ReadAllText(FilePaht)

         File.ReadAll(FillPath,Encoding)

         File.ReadAllBytes()

         File.WriteAll(FilePath,content)

     File.WriteAll(FilePath,content,Endcoding)

         File.WriteAllBytes()

三,流

     1,流的資料來源可以是檔案,可以是網路,可以是管道,可以使記憶體。其中System.IO.MemoryStream 和System.IO.Sockets.NetwordkStream來分別處理記憶體和網路的讀寫。

     2,對於檔案的讀寫,最常用的類是兩個 FileSteam和StreamReader與SteamWriter

     3,如果要讀寫緩衝的流,則需要寫一個繼承自BufferSteam的類

     4,讀寫二進位檔案首先要執行個體化FileSteam,兩種方法,一種是new,另一種是使用 FileSteam fs = file.OpenRead()或file.OpenWrite()或file.Creat()或file.Open() ,使用完以後要Close().

     5,ReadByte()會唯讀出一個byte並變成int。

     6,SteamReader和SteamWriter特別適合文字檔的讀寫,這兩個類的方法ReadLine()和WriteLine()

     7,streamReader 是將一個檔案讀成這種形式,然後可以使用sr.ReadLine()一行一行的讀,可以使用sr.Read()來讀取一個字元或者用ReadToEnd()將剩餘字串全部讀出。

     8,StreamWriter是一個將要寫入的檔案變成這種形式,然後使用sw.Write()來填充,最後close()。

四:讀取磁碟機資訊 使用DriveInfo()

五:檔案的安全性

     ACL 存取控制表

六:讀寫註冊表

      1.,註冊表簡介:註冊表有7個註冊表巢,使用regedit能看到5個。

           HKEY_CLASSES_ROOT(HKCR)包含系統上檔案類型的細節,以及應用程式可以開啟的檔案類型。還包括了所有com組件的註冊資訊。

           HKEY_CURRENT_USER(HKCU) 包括使用者目前登陸的機器的使用者配置。包含案頭設定,環境變數,網路和列印串連和其他使用者作業環境的設定。

           HKEY_LOCAL_MACHINE(HKLM)是一個很大的巢,包含所有安裝在電腦上的軟體和硬體資訊,這些設定不是使用者特有的,而是可用於登陸到機器上的使用者。它還包含HKCR巢,HKCR實際上不是一個獨立的巢,他只是一個對登錄機碼HKLM/SOFTWARE/Classes的方便映射。

          HKEY_USERS(HKUSR)包含所有使用者的使用者配置。它包含HKCU巢,HKCU巢是對HKEY_USERS中一個鍵的映射。

          HKEY_CURRENT_CONFIG(HKCF) 包含機器上硬體的資訊。

          其餘兩個鍵包含臨時資訊,經常會改動。

          HKCY_DYN_DATA是一個一般容器,包含需要儲存在註冊表中的違規資料。

          HKEY_PERFORMANCE_DATA 包含與運行應用程式的效能相關的資訊。

       2.Registry and RegistryKey.

         RegistryKey用的最多可以完成對登錄機碼的所有操作,包含設定鍵的安全層級。

         Registry只能對註冊表鍵進行單一的訪問,執行簡單操作。另一個作用是提供頂級鍵的執行個體。

         Registry是通過靜態屬性來提供這些執行個體的,這些屬性有7個,分別是ClassesRoot、CurrentConfig、CurrentUser、DynData、LocalMechine、PerformanceData和Users。

       forexample:RegistryKey hklm = Registry.LocalMachine;

                          RegistryKey hkSoftware = hklm.Openkey("Software");

         建立key需要使用CreatSubKey()

         刪除key需要使用Delete()

         擷取和設定屬性使用GetValue()和SetValue()

         使用完成後關閉鍵 Close()

  七:隔離儲存區 (Isolated Storage)器 IsolatedStorageFile

       可以看做是一個虛擬硬碟,其中可以儲存只能由建立 他們的應用程式或與其他應用程式執行個體共用的資料項目。

       有兩種訪問方式:一種是由使用者和程式集訪問。它可以由多個應用程式執行個體訪問。另一種是由使用者、程式集和域來訪問。這種訪問時,每個應用程式執行個體都在它自己的隔離儲存區 (Isolated Storage)器中工作。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.