C 的位元組流Stream

2021-10-07 04:21:23 字數 1791 閱讀 4078

memorystream類

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

1、memorystream類封裝乙個位元組陣列,在構造例項時可以使用乙個位元組陣列作為引數,但是陣列的長度無法調整。使用預設無引數建構函式建立例項,可以使用write方法寫入,隨著位元組資料的寫入,陣列的大小自動調整。

2、在對memorystream類中資料流進行讀取時,可以使用seek方法定位讀取器的當前的位置,可以通過指定長度的陣列一次性讀取指定長度的資料。readbyte方法每次讀取乙個位元組,並將位元組返回乙個整數值。

3、unicodeencoding類中定義了unicode中utf-16編碼的相關功能。通過其中的方法將字串轉換為位元組,也可以將位元組轉換為字串。

memorystream 是乙個特例,memorystream中沒有任何非託管資源,所以它的dispose不呼叫也沒關係。託管資源.net會自動**

memorystream繼承自stream類。記憶體流的好處是指標可以晃來晃去,也就是支canseek,position,seek()。任意讀其中一段。

using system;

using system.collections.generic;

using system.io;

using system.linq;

using system.text;

using system.threading.tasks;

// 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, 1);

// read the remaining bytes, byte by byte.

while (count < memstream.length)

// 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();}}

}}

參考:

網路位元組流和主機位元組流

位元組流分為兩類 little edition le big edition be 0x123456 在兩種位元組流中的儲存方式 位址 le be 0x0000 56 12 0x0001 34 34 0x0002 12 56 主機位元組流根據cpu型別而定 網路位元組流採用be格式 為了進行轉換 b...

位元組流應用

位元組流的一些用法 將位元組流檔案放入乙個緩衝區直接讀出 public static void readfile3 throws ioexception 將位元組檔案讀取到位元組緩衝區 public static void readfile2 throws ioexception fis.close...

位元組流InputStream

位元組流 一次性傳輸乙個位元組,其基類是inputstream和outputstream,但是這兩個類不能直接使用,因為他們是基類。inputstream和outputstream inputstream方法 1.read 從位元組流當中讀取資料,其中方法 read 中提供了三種過載的讀取資料的方法...