2017-03-23 41 views
0

私はFileHelpersを使用してファイルを作成し、そのファイルをメモリ内のすべてのSshNetを使用して書き出しようとしています。StreamWriterをストリームに変換するにはどうすればよいですか?

これまでのところ私は、次があります。

 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はそれに書き込んでいます。 swの代わりにmsを渡してみてください。

+0

私はそれを試してみましたが、書き出さ0バイトのファイルを持っています。 – PrivateJoker

+2

ストリームを巻き戻しましたか? – BugFinder

0

WriteFile前に0にあなたのストリームの位置を設定してみてください:ms.Seek(0, SeekOrigin.Begin)

関連する問題