C 使用MemoryStream類讀寫記憶體

2022-03-23 22:52:29 字數 1901 閱讀 5624

memorystream和bufferedstream都派生自基類stream,因此它們有很多共同的屬性和方法,但是每乙個類都有自己獨特的用法。這兩個類都是實現對記憶體進行資料讀寫的功能,而不是對永續性儲存器進行讀寫。

讀寫記憶體-memorystream類

memorystream類用於向記憶體而不是磁碟讀寫資料。memorystream封裝以無符號位元組陣列形式儲存的資料,該陣列在建立memorystream物件時被初始化,或者該陣列可建立為空陣列。可在記憶體中直接訪問這些封裝的資料。記憶體流可降低應用程式中對臨時緩衝區和臨時檔案的需要。

下表列出了memorystream類的重要方法:

1、read():讀取memorystream流物件,將值寫入快取區。

2、readbyte():從memorystream流中讀取乙個位元組。

3、write():將值從快取區寫入memorystream流物件。

4、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.collections.generic;

using

system.linq;

using

system.text;

using

system.io;

namespace

//write the stream properties to the console.

console.writeline("

capacity=,length=,position=\n

", memstream.capacity.tostring(), memstream.length.tostring(), memstream.position.tostring());

//set the position to the beginning of the stream.

memstream.seek(0

, seekorigin.begin);

//read the first 20 bytes from the stream.

bytearray = new

byte

[memstream.length];

count = memstream.read(bytearray, 0, 20

);

//read the remaining bytes, byte by byte.

while (count //decode the byte array into a char array

//and write it to the console.

chararray = new

char[uniencoding.getcharcount(bytearray, 0

, count)];

uniencoding.getdecoder().getchars(bytearray,

0, count, chararray, 0

); console.writeline(chararray); console.readkey();}}

}}

C 使用MemoryStream類讀寫記憶體

和filestream一樣,memorystream和bufferedstream都派生自基類stream,因此它們有很多共同的屬性和方法,但是每乙個類都有自己獨特的用法。這兩個類都是實現對記憶體進行資料讀寫的功能,而不是對永續性儲存器進行讀寫。memorystream類用於向記憶體而不是磁碟讀寫資...

C 使用MemoryStream類讀寫記憶體

和filestream一樣,memorystream和bufferedstream都派生自基類stream,因此它們有很多共同的屬性和方法,但是每乙個類都有自己獨特的用法。這兩個類都是實現對記憶體進行資料讀寫的功能,而不是對永續性儲存器進行讀寫。讀寫記憶體 memorystream類 memorys...

使用MemoryStream類讀寫記憶體

memorystream類用於向記憶體而不是磁碟讀寫資料。memorystream封裝以無符號位元組陣列形式儲存的資料,該陣列在建立memorystream物件時被初始化,或者該陣列可建立為空陣列。可在記憶體中直接訪問這些封裝的資料。記憶體流可降低應用程式中對臨時緩衝區和臨時檔案的需要。下面列出了m...