2017-03-23 2 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)

관련 문제