2013-10-11 3 views
0

나는 압축 된 gzipstream을 가지고 있으며 파일에 쓰려고합니다. 이제 문제는 압축 된 gzipstream에서 읽기가 지원되지 않는다는 것입니다. gzipstream이 memorystream에서 stream을 읽은 다음 filestream에 쓰고 싶습니다.파일에 압축 된 gzipstream 쓰기

using (var stream = new MemoryStream()) 
{ 
    using (FileStream file = new FileStream(@"c:\newest.xml.gz", 
     FileMode.Create, FileAccess.Write)) 
    { 
     using (GZipStream gzs = new GZipStream(file, CompressionLevel.Fastest)) 
     { 
      stream.CopyTo(gzs); 
     } 
    } 
} 

내가 압축 gzipstream에서 filestream을 만드는 방법을 어떤 생각?

편집 :

그건 나쁘고, 시간을 낭비하게해서 죄송합니다. 나중에 참조 할 수 있도록 위의 코드가 작동해야합니다. 문제는 다른 곳에서 발생했습니다.

+0

왜'stream'을 압축 한 다음 압축을 풀고 싶습니까? –

+0

기본적으로 파일을 압축하고 파일 시스템에 .gz로 저장해야합니다 ... –

+0

그런데 왜'gzs'를'CompressionMode.Decompress'와 함께 사용하고 있습니까? –

답변

0

동일한 메모리 스트림을 읽고 쓰는 것 같습니다. 나는 그것이 가능하다고 생각하지 않는다. 두 개의 다른 스트림을 사용해야합니다 : 하나는 읽은 것이고 다른 하나는 쓸 수 있습니다 :

using (gzipStream = new GZipStream(writeStream,CompressionLevel.Fastest)) 
{ 
    readStream.CopyTo(gzipStream); 
}