.NET学习笔记:文件和注册表操作
生活随笔
收集整理的這篇文章主要介紹了
.NET学习笔记:文件和注册表操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 數(shù)據(jù)流:所有流式類的(抽象)基類都是System.IO命名空間下的Stream類。Stream類允許通過文件、網(wǎng)絡、套接字流動數(shù)據(jù)。我們可以使加密的數(shù)據(jù)流動,也可以使數(shù)據(jù)流緩沖處理。
- 通過緩沖流動數(shù)據(jù)的優(yōu)點是:數(shù)據(jù)流的來源和目的地沒有必要在整個數(shù)據(jù)流動過程中都保持連接:只是在每次緩沖區(qū)被沖刷的時候,兩者的連接是可用的就可以了。保持連接是消耗資源的行為,所以緩沖可以改善系統(tǒng)的性能。
- 可供使用的Stream類:
FileStream:用來向文件讀寫數(shù)據(jù),它還提供了打開、查找、關閉文件的功能
NetworkStream:它允許你訪問TCP/IP套接字(在System.Net.Socket命名空間)
MemoryStream:允許用流的方法在內存中建立一個可訪問的可擴展的區(qū)域,也允許把預分配的內存區(qū)域當作流看待
BufferedStream:實用程序類,可以向一個未緩沖的流增加緩沖
CryptoStream:實用程序類,位于System.Security.Cryptography命名空間,可以加密或解密傳遞的信息 - FileStream類的構造參數(shù)
string path 要訪問的文件名稱和路徑
FileMode mode 指定文件的打開方式,或新建文件
FileAccess access 文件的讀寫權限,如Read(讀)、Write(寫)、ReadWrite(讀寫 默認)
FileShare share 其它進程對正在使用文件的訪問權限,如None、Read(默認)、Write、ReadWrite
int bufferSize 緩沖區(qū)大小,通常保持默認的4096 bytes - FileMode打開方式枚舉
Append 打開已存在的文件并尋到結尾,或新建一文件
Create 新建一文件,如果文件已存在,則覆蓋
CreateNew 新建一文件,如果已存在,則拋出IOException
Open 打開,如果不存在,拋出FileNotFoundException
OpenOrCreate 打開,如果不存在則新建
Truncate 打開,并將長度置為0,如果不存在,拋出FileNotFoundException - 例:
FileStream fs = new?FileStream( @“C:\temp\Demo.dat“, FileMode.Create, FileAccess.Write ); - 為了傳輸文本,建立一個Reader或Writer對象,并把它們附在流上,并在它們中使用方法,如WriteLine()方法。因此可以把Reader和Writer類看做是流和代碼之間起交互作用的實用程序類:StreamReader、StreamWriter和BinaryReader、BinaryWriter
- StreamWriter類使用UTF-8做為默認的編碼方案。
- StreamReader的構造函數(shù)參數(shù):
Stream stream 一個開放的流,如FileStream
Encoding encoding 編碼方案,一般可以使用Encoding.Default
int bufferSize 緩沖區(qū)大小(使用默認即可)
string path 不指定Stream而指定文件,StreamReader將用后臺方式打開一個流并用它從文件讀取數(shù)據(jù)
bool detect 是否自動檢測文件中的編碼格式(默認為true) - StreamReader的方法:
Read() 在文本流中讀文本符號
ReadLine() 在流中讀一行并以字符串變量的形式返回
ReadToEnd() 從當前位置到結尾讀入一個獨立的字符串
Close() 關閉StreamReader及其下屬的流 - 在OpenFileDialog中,如果需要過濾2種以上的格式,可以在擴展名之間加上分號即可。如:文本文件(*.txt *.rtf)|*.txt;*.rtf|全部文件(*.*)|*.*
- StringCollection類似一個可擴展的字符串數(shù)組,因為事先無法確定數(shù)組的數(shù)量(文本的行數(shù))
- 例:
public void ReadFile()
{
if( opdMain.ShowDialog() == DialogResult.OK )
{
FileStream fs = new FileStream( opdMain.FileName, FileMode.Open, FileAccess.ReadWrite );
StreamReader aStreamReader = new StreamReader( fs, Encoding.Default );
StringCollection stringCollection = new StringCollection();
string onLine;
while( ( onLine = aStreamReader.ReadLine() ) != null )
{
stringCollection.Add( onLine );
}
aStreamReader.Close();
string[] stringArray = new string[ stringCollection.Count ];
stringCollection.CopyTo( stringArray, 0 );
rtfEditor.Lines = stringArray;
}
}
總結
以上是生活随笔為你收集整理的.NET学习笔记:文件和注册表操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进入职场,为什么都需要了解办公软件,了解
- 下一篇: 实作 ASP.NET 多笔数据离线编辑