2017-03-23 53 views
0

我想用FileHelpers創建一個文件,然後用SshNet在內存中寫出這個文件。如何將StreamWriter轉換爲Stream?

到目前爲止,我有以下幾點:

 var engine = new FileHelperEngine<MyObject>(); 
     MemoryStream ms = new MemoryStream(); 
     StreamWriter sw = new StreamWriter(ms); 
     engine.WriteStream(sw, MyData); 

     SshHelper ssh = new SshHelper("","",""); 
     ssh.WriteFile("MyPath", sw.BaseStream); 

但我的問題是與WriteFile的方法,因爲它需要一個流參數和運行我的代碼,我得到一個空文件。

如何將我的StreamWriter(sw變量)轉換爲Stream參數?

編輯: 我都試過(不是在同一時間):

ms.Seek(0, SeekOrigin.Begin); 
ms.Position = 0; 

,它仍然寫一個0字節的文件。

我進一步測試了通過使用FileHelper寫入我的本地磁盤來驗證我有數據。 (我這樣做)

回答

0

您的MemoryStream是流,StreamWriter只是寫它。嘗試傳入ms,而不是sw。

+0

我已經試過了,得到了寫出一個0字節的文件。 – PrivateJoker

+2

你倒回了流嗎? – BugFinder

0

WriteFile之前試試你流的位置設置爲0:ms.Seek(0, SeekOrigin.Begin)

相關問題