2011-11-04 76 views
36

如何創建System.IO.Stream stream的實例。我的一個功能收到System.IO.Stream stream作爲參數,並寫了一些東西給它。那麼如何創建一個新的實例並將其傳遞給函數?如何創建System.IO.Stream流的實例

+3

是的。知道了'System.IO.Stream stream = new System.IO.MemoryStream();' – Rauf

回答

66
System.IO.Stream stream = new System.IO.MemoryStream(); 
+2

我們是否必須在這樣的「空」流上調用Close或Dispose? –

+2

簡答:是的。對於更長的答案,請查閱John Skeet的回答http://stackoverflow.com/a/234257/1480854 – Josh

19

您必須創建其中一個子類的實例。 Stream是一個不能直接實例化的抽象類。

有一堆的選擇,如果你看看這裏參考的底部:

Stream Class | Microsoft Developer Network

最常見的可能是FileStreamMemoryStream。基本上,您需要確定您希望支持流的數據來自何處,然後創建相應子類的實例。

0

Stream是一個基類,您需要創建一個特定類型的流,例如MemoryStream。

4
Stream stream = MemoryStream(); 

可以使用的MemoryStream

-1

System.IO.Stream流是一個抽象類。請在下面找到MSDN文章。

http://msdn.microsoft.com/en-us/library/system.io.stream.aspx

例如下面的代碼創建的StreamReader一個實例。

System.IO.Stream textStream = new System.IO.StreamReader(""); 

System.IO.Stream是基類System.IO.StreamReader類(和其他組類)的。

+0

Uhm,StreamReader不是Stream的派生類。 StreamReader是Stream上的組合。 MemoryStream,FileStream,NetworkStream等是來自Stream的派生類的示例。檢查System.IO命名空間。除此之外,你的回答是正確的:) – Polity

+0

這是一個很大的失敗,StreamReader不能轉換爲Stream,因爲它不是子類 – sam