和filestream一樣,memorystream和bufferedstream都派生自基類stream,因此它們有很多共同的屬性和方法,但是每乙個類都有自己獨特的用法。這兩個類都是實現對記憶體進行資料讀寫的功能,而不是對永續性儲存器進行讀寫。
memorystream類用於向記憶體而不是磁碟讀寫資料。memorystream封裝以無符號位元組陣列形式儲存的資料,該陣列在建立memorystream物件時被初始化,或者該陣列可建立為空陣列。可在記憶體中直接訪問這些封裝的資料。記憶體流可降低應用程式中對臨時緩衝區和臨時檔案的需要。下表列出了memorystream類的重要方法:
read():讀取memorystream流物件,將值寫入快取區。
readbyte():從memorystream流中讀取乙個位元組。
write():將值從快取區寫入memorystream流物件。
writebyte():從快取區寫入memoytstream流物件乙個位元組。
read方法使用的語法如下:
mmstream.read(byte buffer,offset,count)
其中mmstream為memorystream類的乙個流物件,3個引數中,buffer包含指定的位元組陣列,該陣列中,從offset到(offset +count-1)之間的值由當前流中讀取的字元替換。offset是指buffer中的位元組偏移量,從此處開始讀取。count是指最多讀取的位元組數。write()方法和read()方法具有相同的引數型別。
memorystream類的使用例項:
using system;
using system.io;
using system.text;
class program{
static void main()
{int count;
byte bytearray;
char chararray;
unicodeencoding uniencoding=new unicodeencoding();
byte firststring=uniencoding.getbytes("努力學習");
byte secondstring=uniencoding.getbytes("不做c#中的菜鳥");
using (memorystream memstream=new memorystream(100))
{memstream.write(firststring,0,firststring.length);
count=0;
while(countmemorystream.capacity 屬性 取得或設定配置給這個資料流的位元組數目。
memorystream.position 屬性 指定當前流的位置。
memorystream.length 屬性獲取用位元組表示的流長度。
seekorigin()是乙個列舉類,作用設定流的乙個引數。
seekorigin.begin我得理解就是檔案的最開始,「0」是偏移,表示跳過0個位元組。寫2就是跳過2個位元組。
memorystream類通過位元組讀寫資料。本例中定義了寫入的位元組陣列,為了更好的說明write和writebyte的異同,在**中宣告了兩個byte陣列,其中乙個陣列寫入時呼叫write方法,通過指定該方法的三個引數實現如何寫入。另乙個陣列呼叫了writebyte方法,每次寫入乙個位元組,所以採用while迴圈來完成全部位元組的寫入。寫入memorystream後,可以檢索該流的容量,實際長度,當前流的位置,將這些值輸出到控制台。通過觀察結果,可以確定寫入memorystream流是否成功。
呼叫read和readbyte兩種方法讀取memorystream流中的資料,並將其進行unicode編碼後輸出到控制台。
C 使用MemoryStream類讀寫記憶體
和filestream一樣,memorystream和bufferedstream都派生自基類stream,因此它們有很多共同的屬性和方法,但是每乙個類都有自己獨特的用法。這兩個類都是實現對記憶體進行資料讀寫的功能,而不是對永續性儲存器進行讀寫。讀寫記憶體 memorystream類 memorys...
C 使用MemoryStream類讀寫記憶體
memorystream和bufferedstream都派生自基類stream,因此它們有很多共同的屬性和方法,但是每乙個類都有自己獨特的用法。這兩個類都是實現對記憶體進行資料讀寫的功能,而不是對永續性儲存器進行讀寫。讀寫記憶體 memorystream類 memorystream類用於向記憶體而不...
使用MemoryStream類讀寫記憶體
memorystream類用於向記憶體而不是磁碟讀寫資料。memorystream封裝以無符號位元組陣列形式儲存的資料,該陣列在建立memorystream物件時被初始化,或者該陣列可建立為空陣列。可在記憶體中直接訪問這些封裝的資料。記憶體流可降低應用程式中對臨時緩衝區和臨時檔案的需要。下面列出了m...